2

パフォーマンステストの基礎を理解することに関して、いくつかの基本的な質問があります。さまざまな状況下で実行したい場合があることを知っています-ストレステスト-耐久性テストなど。しかし、ここでの私の主な目的は、応答時間が、より高いエンドまたは少なくとも平均を超える一連の負荷の下でのアプリケーションから適切であることを確認することです。ロード。

私の質問は次のとおりです。

  1. アプリケーションの予想される応答時間を計画し始めるとき。あなたはどう思いますか。それが最初のステップである場合。つまり、私は今Webアプリケーションを持っています。空中からフィギュアを取り出して、「アプリケーションが各リクエストに応答するのに3秒かかると思います」と言うだけですか。次に、その応答時間を取得するためにアプリケーションに欠けているものを見つけ出しますか?

  2. または、その逆で、特定のハードウェアセットを使用してパフォーマンステストを開始し、現在の応答時間を確認してから、結果を確認して、今は8秒だと言います。最大で3秒になるので、3秒に最適化する方法を見てみましょう。しかし、再び3秒は空中ですか?確かに、マシンをスケールアップするだけでは応答時間は上がりません。単一のマシン/サーバーに負荷がかかっていて、クラスタリングを開始した場合にのみ、応答時間が長くなりますか?

  3. これで、1人のユーザーの応答時間は3秒になりますが、負荷が増えると指数関数的に低下します。それで、「コードをさらに最適化する必要がある」(上限があります)と「サーバーをスケールアップする必要があります」(これにも制限があります)の間に線を引くのはどこですか?

  4. パフォーマンスと負荷テストを行うための最良の無料ツールは何ですか?私はJmeterを少し使用しました。しかし、他に何か良いものはありますか?それは良いオープンソースですか?

  5. コードを最適化する必要がある場合、リクエストへの応答に時間がかかった特定のフローのプロファイリングを開始しますか?

基本的に、アプリケーションのパフォーマンステストをエンドツーエンドで実行する方法を確認したいと思います。リンクや記事は非常に役立ちます。

ありがとう。

4

5 に答える 5

2

まず第一にあなたは読むことができます

Webサイトを高速化するためのベストプラクティス

ツールの場合

オープンソースのパフォーマンステストツール

パフォーマンス:ツール

于 2009-09-09T07:06:38.500 に答える
2

パフォーマンステスト評議会は、パフォーマンステストの経験、知識、および実践を自由に交換するためのゲートウェイです。

パフォーマンステストのためのMicrosoftパターンとプラクティスもお読みください。このガイドでは、パフォーマンステストを実装するためのエンドツーエンドのアプローチを示します。

フェニックスはオープンソースツールについて言及しました。

于 2009-09-09T07:10:38.387 に答える
1

このリンクこれは、アプリケーションに明らかな「ボトルネック」がない場合のアプリケーションのパフォーマンス調整の例と方法を示しています。個々のスレッドで最も直感的に機能します。他の人は使っていますが、私はWebアプリケーションでそれを使った経験がありません。プロファイリングは簡単ではないことに同意しますが、私は常にこの手法に依存しており、非常に簡単で効果的だと思います。

于 2009-09-09T21:47:32.623 に答える
0

まず、アプリケーションを適切に設計します。

プロファイラーを使用して、アプリケーションのボトルネックがどこにあるかを確認し、可能であればそれらを取り除きます。パフォーマンスを改善する前に測定してください。

于 2009-09-09T07:02:40.433 に答える
0

プロジェクトでパフォーマンステストを実装するために使用できる基本的なステップバイステップガイドを提供しようと思います。

1-テストを開始する前に、物理メモリの量やJVMに割り当てられたメモリの量などを知っておく必要があります。DBサイズは、現在の環境で可能な限り多くのメトリックを収集します。あなたの環境を知っている

2-次のステップは、一般的なDBの本番サイズと予想される年間の成長を特定することです。1年後、2年後、5年後など、アプリケーションがどのように動作するかをテストする必要があります。

3-環境のセットアップを自動化します。これは、将来、回帰テストと欠陥修正の検証に大いに役立ちます。したがって、テスト用にDBダンプが必要です。現在(ベースライン)で、1年、5年のボリューム。

4-基本情報の収集が完了したら-負荷がかかっているサーバーの監視について考えてみてください。http://newrelic.com/のような監視ソリューションがすでにある場合は、パフォーマンス低下の原因(CPU / Mem)を特定するのに役立ちます。 /スレッドの量など)一部のパフォーマンステストツールには、監視システムが組み込まれています。

これで、ツールと負荷の選択を行う準備が整いました。その方法に関する資料がすでに提供されているので、ワークロードの選択の部分をスキップします。

5-ツールを選択するこの時点で必要なのはJMeter+http://blazemeter.com/だと思いますどちらにもすばらしい記事や教材がたくさんあります。スクリプトの記録には、代わりにblazemetersChromExtensionを使用することをお勧めします。組み込みのJMetersソリューション。それでもJMeterでの作業方法に関する知識が不足していると思われる場合は、この本を入手することをお勧めします-BayoErinleによるJMeter2.9を使用したパフォーマンステスト

6-結果を分析し、テスト計画を確認して、対応するアクションを実行します。

于 2015-04-15T08:46:22.237 に答える