11

離れた場所でアプリケーションのパフォーマンスが低下している理由を説明する必要があります。プロファイラーをインストールするのは不便です。マシンの構成が不十分であると思われますが、標準のアプリがマシンで問題を抱えていることを示す簡単な方法が必要です。これにより、アプリケーションが免除され、システム管理者に焦点が移ります。

理想的には、ホスト環境のパフォーマンスをテストする単純なJavaアプリをインストールすることをお勧めします。CPU、ディスク、ネットワークなどの仕様を返すことができれば、完璧です。

ウェブ上でそのようなものを見つけることを期待していましたが、これまでのところ検索に失敗しました。

4

1 に答える 1

16

「シンプルなJavaアプリ」に関しては、以前は似たようなことをしていました。私の努力は、特定のJavaアプリケーションのパフォーマンスをテストするのではなく、Java VM(仮想マシン-「JVM」)のプロファイリングに集中していました。焦点は、ホスティングオペレーティングシステムの機能のテストにありました-演習:

  • CPU
  • メモリー
  • オペレーティング·システム
  • 仮想化されている場合、サーバーVM(JVMではない)自体-上記のすべての仮想化コンポーネントと物理コンポーネントの両方を含みます。
  • ディスクやネットワークなどの外部要因をほとんど無視します。

私がこれについて調べた解決策は次のとおりです。

SciMarkは、科学および工学アプリケーションで発生する数値コードのパフォーマンスを測定する複合Javaベンチマークです。これは、FFT、ガウス・ザイデル緩和、スパース行列乗算、モンテカルロ積分、および密なLU分解の5つの計算カーネルで構成されています。

これらのカーネルは、基盤となるJVM/JITがこれらのタイプのアルゴリズムを利用するアプリケーションでどの程度うまく機能するかを示すために選択されます。問題のサイズは、メモリ階層の影響を分離し、内部のJVM / JITおよびCPUの問題に焦点を当てるために、意図的に小さく選択されています。ベンチマークのより大きなバージョン(SciMark 2.0 LARGE)は、キャッシュ不足の問題サイズでメモリサブシステムのパフォーマンスに対応します。

いくつかの計算カーネルを測定し、およそMflops(1秒あたり数百万の浮動小数点演算)で複合スコアを報告します。

やや時代遅れ(2004年)ですが、SciMarkは依然として非常に効果的であるように見えます。

各テストの実行には、約30秒かかります。

SPECjvm2008(Java仮想マシンベンチマーク)は、Javaランタイム環境(JRE)のパフォーマンスを測定するためのベンチマークスイートであり、コアJava機能に焦点を当てたいくつかの実際のアプリケーションとベンチマークが含まれています。このスイートは、単一のアプリケーションを実行するJREのパフォーマンスに重点を置いています。これは、ハードウェアプロセッサとメモリサブシステムのパフォーマンスを反映していますが、ファイルI / Oへの依存度が低く、マシン間のネットワークI/Oは含まれていません。SPECjvm2008ワークロードは、さまざまな一般的な汎用アプリケーションの計算を模倣しています。これらの特性は、このベンチマークがクラ​​イアントシステムとサーバーシステムの両方で基本的なJavaパフォーマンスの測定に適用できるという意図を反映しています。

SPECは、Javaのユーザーエクスペリエンスも重要であると考えています。したがって、スイートにはスタートアップベンチマークが含まれており、baseと呼ばれる必須の実行カテゴリがあります。これは、すぐに使用できるパフォーマンスを向上させるために、JVMを調整せずに実行する必要があります。

SPECjvm2008ベンチマークのハイライト

  • 実際のアプリケーション(derby、sunflow、javacなど)と領域に焦点を当てたベンチマーク(xml、シリアル化、暗号化、scimarkなど)を活用します。
  • また、JREを実行するコンテキストでオペレーティングシステムとハードウェアのパフォーマンスを測定します。

SciMarkとは異なり、SPECjvm2008は、スイートを完全に実行するのにはるかに長い時間がかかります-2時間強かかります。


ネットワークをテストするために、Linux / Windows/etcの両方で利用可能なiperfのようなものを使用します。

ディスクのパフォーマンスをテストするために、この背後にある科学全体があり、使用しているオペレーティングシステムがわからない限り、具体的な答えを出すことはできません。ただし、たとえばLinuxを使用している場合は、これを確認ます。

于 2012-09-13T12:37:36.353 に答える