私はプレイ フレームワーク 1.2.5 を使用しています。過去 2 日間、サーバーへの API 呼び出しごとに平均 1200 ~ 1400 ミリ秒かかる負荷テストで非常に大きな問題がありましたが、今日は次の 1 行のみを変更しました。ファイルapplication.conf で、平均時間を20 ~ 50 msに劇的に短縮します。
application.mode=prod
%prod.application.mode=prod
最初はそうだった
application.mode=dev
%prod.application.mode=prod
したがって、このことから、dev から production に変更すると何かが発生することがわかり、インターネットで見つけたのは、devモードではplay.pool=1がデフォルトであるのに対し、production モードでは play.pool = no of processor + 1であり、私の ubuntu マシンは4 プロセッサなので 5 スレッドを使用します。私が見つけたことが本当なら、application.confでplay.pool = 5を手動で変更すると、問題が発生しますplay.pool=1 を設定して本番モードで実行しても、結果が速くなることはありません アプリケーションの負荷テストの結果が遅くなることもないため、開発モードから本番モードに変更するとどうなるかを知る必要があります。アプリケーションを高速化する .pool 。私はprodモードで変更しても良い結果が得られないUATで問題に直面しているため、それは私のlocalhostでのみ機能します。
アップデート :
はい、私はDEVモードのようなアプリケーションのリロードとコンパイルのようなものをすべて知っていますが、おそらく最初のプログラムのロード時にのみ、すべてのリクエストに対してではないと思いますが、私の問題は、このprodモードがローカルホストとローカルで正常に動作することですサーバーで、UAT を使用すると、負荷テストで平均 800 ミリ秒前後の悪い結果が得られます。負荷テストをローカルで実行していても、製品でもアプリケーションが遅いです(jmeterはサーバーマシンにインストールされており、リモートデスクトップ接続を使用して負荷テストを行っています)。したがって、コンパイルとリロード以外に、play.pool が 1 スレッドから (プロセッサー数 + 1) スレッドに変更されるように、DEV モードから PROD モードに変更するときに、application.conf ファイルで実行されるすべての変更を知る必要があります。 参考までに: 私のローカルホスト システムは 4 プロセッサ マシンで、ローカル サーバー マシンは 4 プロセッサですが、UAT マシンは 2 プロセッサです。 UATで良い結果。