25

Sun VM 1.5.0_06-b05 で実行されている Tomcat 5.5.17 に展開された Web アプリで速度低下が発生しており、ホスティング会社は問題を見つけるのに十分なデータを提供していません。

本番サーバーにラムダ プローブをインストールすることを検討していますが、メモリと CPU の統計情報を取得するには、JMX (com.sun.management.jmxremote) を有効にする必要があります。

JMX を有効にすると、パフォーマンスが大幅に低下しますか?

JMX を有効にすると、セキュリティ上の欠陥が生じますか? JMX へのローカル アクセスのみを有効にする場合、安全な認証を設定する必要がありますか?

本番環境で問題なく同じ (Tomcat + ラムダ プローブ) を使用している人はいますか?

アップデート

回答を見ると、JMX のみを有効にしても、VM に大きなオーバーヘッドが発生しないようです。VM に接続された監視アプリケーション ( JConsoleラムダ プローブなど) が過度に熱心にポーリングしている場合、余分な作業が発生する可能性があります。

4

5 に答える 5

18

安全な認証を使用することで、セキュリティ上の欠陥を解消できます。JMX サービスを準備しておくだけでは、大きなオーバーヘッドは発生せず、一般的には良い考えです。これについては、ここにベンチマークがあります。

于 2008-11-24T21:34:49.130 に答える
6

JMX からのオーバーヘッドは低く、SSL と認証を使用してセキュリティを修正できます。-Dcom.sun.management.jmxremote.ssl=true および -Dcom.sun.management.jmxremote.authenticate=true を設定します。

証明書等の設定について詳しくはこちらをご覧ください

コードの計測を開始すると、オーバーヘッドが問題になります。オーバーヘッドがかなり大きくなる可能性があり、インストルメンテーションがアプリケーションの動作に影響を与える可能性があります。あなたが得るもの、いわゆるハイゼンベルグ効果は見えません。

オーバーヘッドを減らしたい場合は、JRockitに付属のツールを使用します。JVM が常に収集する情報に便乗します。JVM は、最適化する必要があるメソッドを決定するために、どのメソッドが最も多く実行されているかの統計を保持します。また、JVM はメモリ使用量とパターンを追跡して、どの gc-stategy を選択するかを決定します。JRockit は、別のJMVTIエージェントから通常得られるインストルメンテーション オーバーヘッドを追加することなく、その種のデータを JRockit ツールに公開します。

于 2008-12-11T00:41:08.560 に答える
3

JMX は、接続を待機し、外部プロセスが収集されたデータにアクセスできるようにする単なるソケットです。通常、ペナルティは非常に低くなります (もちろん、JMX サーバーにリクエストを送信しない限り)。

JMX を使用すると、Java VM の本質をつかむことができます。GC を実行してシャットダウンするコマンドがあります。とはいえ、JMX は公開鍵と認証を使用する安全な接続モードを提供します。詳細については、ドキュメントをお読みください。

于 2008-11-24T09:34:50.503 に答える
2

運用サーバーでラムダ プローブを使用していますが、大きなオーバーヘッドは見られませんでした。(Tomcats 5.5 および 6.0、JDK 5 および JDK 6) を使用して、本番環境にすぐに使用できる信頼性の高い製品としてプローブをお勧めします。

于 2008-11-27T20:13:27.577 に答える
0

それは、JMX の実装と、監視したいもののコストに依存します。現在、メモリ オーバーヘッドが比較的高い JMX アプリケーションが少なくとも 1 つあります。

于 2008-11-24T15:40:29.140 に答える