play 2.0 フレームワークでアプリケーションを作成しています。このアプリの目的は、画像のアップロードを処理し、バックグラウンドでサイズを変更することです。
アップロードは、ファイルをファイル システムに保存する標準のポスト ハンドラーを介して処理されます。現在、これはイベントまたは IO スレッドで行われています。ファイルが正常に保存されると、元の画像をさまざまなサイズ (現在は 4 つ) にサイズ変更するように AKKA アクターにメッセージが送信されます。これらのサイズ変更操作は CPU を必要とし、少し時間がかかります。
ある程度の負荷の下でアプリをテストするまで、これはすべてうまく機能します。負荷がかかると、サイズ変更操作は利用可能なすべての CPU 時間を効果的に消費するため、着信 HTTP リクエストは CPU 時間がいくらか不足し、これらのリクエストのバックログが発生し、最終的にリクエストがタイムアウトし始めます。
問題は、サイズ変更リクエストよりも着信 HTTP リクエストに高い優先度を与えるようにシステムを構成 (または書き直し) するにはどうすればよいかということです。