私は、Weblogic サーバーで実行されている Java アプリケーションの 1 つのパフォーマンス テスト ソリューションを探す任務を負っています。要件は、運用要求 (POST データを含む GET と POST の両方) を記録し、運用データベースのコピーを使用してパフォーマンス テスト環境でこれらの要求を実行することです。
テスト スクリプトの代わりにプロダクション リクエストを使用する理由は次のとおりです。
- これは既存のテスト スクリプトを持たない大規模なアプリケーションであるため、アプリケーション全体をカバーするスクリプトを作成するには膨大な作業が必要になります。
- 一部のパフォーマンスの問題は、ユーザーが特定の順序で多数のアクションを実行した場合にのみ発生します。
- ユーザーがシステムとどのように対話するかを推定するのではなく、実際のユーザーとシステムとの対話を使用してテストすること。私たちは、ユーザーが私たちが考えもしなかったことをすることを知っています。
- 本番環境にリリースする前に、パフォーマンスの問題を修正し、修正されたコードに対してリクエストを再実行できるようにしたいと考えています。
サーバー アクセス ログでJMeters Access Log Samplerを使用することを確認しましたが、アクセス ログには POST データが含まれておらず、アクセス ログ サンプラーはリクエスト URL のみを参照するため、フォーム データを送信するユーザーをシミュレートできません。
JMeter HTTP Proxy Server の使用も検討しましたが、これは 1 人のユーザーのアクションのみを記録でき、プロキシを使用するようにブラウザーを構成する必要があります。これと同じ制限が Tsung と The Grinder にも存在します。
Wireshark と TCReplay の使用を検討しましたが、パケット レベルでの記録は過剰であり、要求レベルで有用なレポートを提供しません。
本番環境にリリースする前に修正をテストできるようにする必要があることを考慮して、本番環境のパフォーマンスを分析するより良い方法はありますか?