私はそれが何をしているのか知っています...私が継承したアプリケーションの問題をなぜ修正しているのか興味があります。FlexクライアントのRed5サーバーとして機能するかなり大きなtomcatアプリケーションを引き継ぎ、リアルタイムの相互作用データの多くを処理し、最終的にRails APIにフラッシュされます。この問題は、これらのクライアントへの応答が3〜400ミリ秒に増加し、通常は100ミリ秒未満でしたが、時間の経過とともに多くの負荷がかかっていました。クライアントは、メモリの問題であると疑いましたが、実際には確認できませんでした。ある日、ステージングサーバーiが負荷テストを実行していたので、リクエストの取り込みがほとんど停止したか、非常に遅くなりました。気まぐれに
sync && echo 3 > /proc/sys/vm/drop_caches
そして魔法のように、サーバーは活気を取り戻し、これらの接続をフルスピードで実行し始めました。これは偶然の一致でしたか、またはこの動作は理にかなっており、なぜですか?
sync
またはのみを試してくださいecho
。次に、これが修正された場合にサーバーが遅い理由を調べてみてください(CPUは最大になりますか?IOは最大になりますか?システムはページングしますか?)