12

単体テストのみを使用して、Java アプリケーションのすべてのボトルネック、デッドロック、およびメモリ リークを見つけることは困難です。

アプリケーションにある程度のストレス テストを追加したいと考えています。アプリケーションの限界をテストし、高負荷時にどのように反応するかを判断したいと考えています。

次のことを測りたいと思います。

  • 高負荷時の可用性
  • 高負荷時のパフォーマンス
  • 高負荷時のメモリ/CPU/ディスク使用量
  • 高負荷時にクラッシュするか、正常に反応するか

通常の負荷の下でそのような特性を測定して対比することも興味深いでしょう.

ストレステストに対処するためのよく知られた標準的な手法です。そのような環境を設定するためのヘルプ/指示を探しています。理想的には、これらのテストを定期的に実行して、最近の配信がパフォーマンスに影響を与えるかどうかを判断できるようにしたいと考えています.

4

5 に答える 5

6

私はJMeterの大ファンです。ユーザーがサーバーにアクセスするのと同じように、サーバーに対して直接呼び出しを設定できます。ユーザー (同時スレッド) とアクセスの数を制御できます。ワークフローに従って、適切な情報をページごとにスクレイピングできます。生産的になるのに十分なほど十分に習得するには、1〜2日かかります。(ダウンロードから1時間以内に基本を行うことができます!)

それがサーバーにどのように影響するかについては、難しい質問です。CA と IBM の専門ツールを使用しました。(特定のツール名を空白にしています - おそらく PTSD が原因です!) すぐに使える JVM プロファイラーを使用しました。ネイティブの Linux および Windows ツールを使用しました。アプリケーションのどの部分が問題を引き起こしているかをプロファイリングすることにあまり関心がない場合は、OS のネイティブ ツールを使用して CPU/メモリ/IO を監視できます。

于 2013-10-17T20:26:43.547 に答える
1

私たちの標準的な手法の 1 つは、スケーラビリティを測定するために段階的な負荷テストを実行することです。

于 2013-09-23T12:15:18.570 に答える