この例で使用されている websocket のデフォルトのディスパッチャー構成については、 http: //www.playframework.org/documentation/2.0.1/AkkaCore に詳細がいくつかあります。
各 WebSocket 接続状態は、エージェント アクターによって管理されます。WebSocket ごとに新しいアクターが作成され、ソケットが閉じられると強制終了されます。
その Web ページには、デフォルトの構成も示されています。
websockets-dispatcher = {
fork-join-executor {
parallelism-factor = 1.0
parallelism-max = 24
}
}
デフォルトでは、すべてのディスパッチャはスレッド プールで一連のアクターを実行します。したがって、WebSocket を作成するクライアントごとに、アクターが作成されます。割り当てられるスレッドの数は、使用されるエグゼキュータ サービスによって異なります。fork-join-executor
は までオンデマンドでスレッドを作成するようですparallelism-max
。
その上に、アクションとプロミスを処理するアクターもいます。
akka には、パフォーマンスを微調整するための多くのノブがあるようです。http://doc.akka.io/docs/akka/2.0.1/general/configuration.htmlを参照してください。サーバーを「高度にスケーラブル」にするには、おそらく多くのベンチマークといくつかのハードウェアが必要になります。