この質問はまだ未解決なので、私も検討したほうがよいでしょう。
良いニュースは、過去 5 年ほどの間にオープン ソース ツールが本当に成熟し、この分野で人気を博したことです。悪いニュースは、非常に多くのツールが世の中に出回っていることです。
ここに私の考えがあります: -
Jmeter vs グラインダー
Jmeter は、GUI を介して構築される XML スタイル仕様から駆動されます。
Grinder は、マルチスレッド Java フレームワーク内で Jython スクリプトを使用するため、よりプログラマ向けです。
どちらのツールも HTTP と HTTPS を処理し、開始するためのプロキシ レコーダーを備えています。どちらのツールもコントローラー モデルを使用して複数のテスト エージェントを駆動するため、スケーラビリティは問題になりません (クラウドへのアクセスが与えられます)。
どちらが良いですか: -
URL の書き換え、関連付け、仮想ユーザーごとの一意のデータの提供、初回のシミュレートまたはユーザーの復帰 (HTTP ヘッダーの操作による) など、より複雑なスクリプト要件が必要になるため、両方のツールの学習曲線は急勾配です。
とはいえ、このツールには多くの支持者がいて、このツールを使用するための多くの例とチュートリアルがウェブ上にあるため、Jmeter から始めます。「障害」に遭遇した場合、それは Jmeter では「簡単に」できないことであり、Grinder を見てください。幸いなことに、これらのツールはどちらも Java 要件が同じであり、「組み合わせて使用する」ソリューションも問題外ではありません。
新たに追加するもの – Selenium WebDriver の複数のインスタンスを実行するヘッドレス ブラウザー。
これは、クラウドからプロビジョニングできるようになったリソースの可用性に依存するため、比較的新しいアプローチです。このアプローチでは、Selenium (WebDriver) スクリプトが取得され、ヘッドレス ブラウザー (つまり、WebDriver = New HtmlUnitDriver()) ドライバー内で複数のスレッドで実行されます。
経験上、「ヘッドレス ブラウザ」の約 25 インスタンスを Amazon M1 Small Instance から実行できます。
これが意味することは、機能テスト スクリプトを再利用してパフォーマンス テスト スクリプトにすることで、相関関係や URL 書き換えの問題がすべて解消されるということです。
Grinder や Jmeter などの HTTP ドライバーと比較して、負荷を駆動するために必要な VM が増えるため、スケーラビリティが損なわれます。とはいえ、500 人の仮想ユーザーを動員しようとしている場合、20 の Amazon Small Instances (それぞれ 1 時間あたり 6 セント) を使用すると、1 時間あたりわずか 1.20 ドルのコストで、実際のユーザー エクスペリエンスに非常に近い負荷が得られます。