0

私は優れたパフォーマンスを発揮するWebアプリを持っていますが、突然ページリクエストがフリーズしてタイムアウトになり、その後少しの間すべてが再びダンディになり、同じことが起こります。

分析できる変数が非常に多いため、これを理解するのに苦労しています。

方法はありますか:これの根底に到達し、基本的にページ要求からデータベース呼び出しまでこのすべてを分析し、潜在的な問題を特定するのに役立つツールまたはステッププランはありますか?New RelicとMATを使用していて、Javamelodyを使い始めたばかりですが、正直に言うと、どこに焦点を合わせるのですか?そして通常、ページがフリーズ/タイムアウトすると、ボトルネックがどこにあったのかが明確になりません。注意すべきしきい値/危険信号とは何ですか?

よろしく、マーク

4

2 に答える 2

1

サーバー側では、通常、 jstackがプロファイラーよりもはるかに優れたツールであることがわかりました。これは主に、コマンド ラインですばやく実行でき、サーバーの JDK に既にインストールされているためです。

断続的な Web アプリの速度低下の一般的な原因は、何らかのロックの解放を待機しているスレッドです。

jstackWeb アプリがスタックしているように見えるときに実行し、スレッドを調べて、ロックでスタックしているスレッドとロックの内容を確認します。最初は難しそうに聞こえるかもしれませんが、とても簡単なチュートリアルです。

于 2012-12-05T21:13:50.473 に答える
0

ここや他の場所のヒントに基づいて、長期的にどのように機能するかを確認する必要がありますが、物事に影響を与えていると思われるいくつかのことを見つけました. 今は良くなっているように見えますが、最大の違いを正確に指摘するのは難しいです. 私がしたこと: * キャッシュから処理できるリクエストが不要なトランザクションを作成しないように、Spring データソースを遅延させました * mySQL の thread_cache_size を 50 に変更しました。以前は 8 でした。* c3p0 から BoneCP に変更

今のところ、断続的な一時停止はもう発生していないようです。

于 2012-12-06T16:20:40.247 に答える