2009-06-30 6 views
5

非常に大きな製品(オペレーティングシステムのサイズを考えてください)に対して一種の統合/ストレステストを行い、最近私のチームと私は、テストワークロードを整理する方法について議論してきました。これまで、私たちはすべての(カスタム)ワークロード・アプリケーションを一連のバッチ・タイプのジョブで処理することに満足しており、それぞれが単一のストレス・テスト実行を表しています。平均的なテスト実行には、13台のシステムで100台以上のワークロードが実行されているので、もう少し先を進めるべきだと思っています。ストレステストフレームワークを設計する

私は単体テストのフレームワークについて多くを見てきましたが、より高いレベルのストレスのタイプのテストではほとんど見ていませんでした。多数の作業負荷を管理する問題が解決されるという共通の(または珍しい)方法を知っている人はいますか?

現在、個々のワークロードのデータベースを保持し、フロントエンドを提供して、特定の日に必要なストレスの種類に応じてテストパッケージにミックスして対応させたいと考えていますが、各個別のワークロードがシステムに与えるストレスをランク付けするなど、より高度な処理を行うための最良の方法の例です。

大きな製品の私の仲間のストレステスターは何をしていますか?私たちのために、いくつかのハンドリングされたスクリプトはもうそれをカットしません。

+0

私はあなたを本当に助けることはできませんが、ここで評価のための利用可能なツールへの2つのリンクがあります。 http://www.opensourcetesting.org/performance.php http://www.testingfaqs.org/t-load.html – jitter

答えて

1

私自身の経験は、最初はWCATを使用するIISプラットフォームで、その後はJMeterとSeleniumを使用していました。

WCATとJMeterを使用すると、Webサイトを経由してフォームなどを完成させ、そのプロセスをスクリプトとして記録することができます。スクリプトは単独で再生することも、複数のクライアントと複数のスレッドをシミュレートすることもできます。再生をランダム化して、塊状で予測不可能な使用などをシミュレートします。

スクリプトは編集することも、手作業で書くこともできます。 WCATを使用すると、ログファイルから再生して、実際の使用状況をシミュレートすることができます。

上記はいずれもPCまたはサーバーにインストールされています。

SeleniumはFireFoxの追加機能ですが、同様の方法でスクリプトの記録と再生を行い、拡大縮小が可能です。

あなたがテストしているシナリオを試してみて、それに合うようにテストを設計しています。また、データベースや他の外部リソースとの相互作用を考慮する必要があります。ログファイルを見るのに多くの時間を費やすためにExpcetを使用すると、良いグラフィック出力が不可欠です。

0

私にとって最も難しいのは、負荷のかかっているサーバーからパフォーマンスメトリックを収集して整理することでした。パフォーマンスモニタが私の主なツールでした。 Visual Studio Testerのエディションが登場したとき、私はパフォーマンスカウンタでどのように簡単に動作するか驚いた。彼らは、Webサーバー、SQLサーバー、ASP.NETアプリケーションなどのカウンタの一覧をあらかじめパッケージ化していました。私が知り得なかったパフォーマンスカウンタについても学びました。さらに、独自のカウンターを収集することもできます。実行ごとにメトリックを保存できます。実稼働サーバーに接続して、現在の状況を確認することもできます。それから私はリアルタイムですべてのグラフィックスを見ることができます。 :)より多くの負荷が必要な場合は、VS負荷エージェントを取得し、リグを生成する負荷を作成することができます(または、それをbotnetと呼ぶ必要があります)。市販の製品と比較すると、比較的安価です。 MSライセンスはプロセッサごとに実行されますが、同時要求ごとには実行されません。つまり、ハードウェアが処理できるだけの負荷を発生させることができます。平均して、私はデュアルコア、2GBメモリのコンピュータで約3000件の同時Webリクエストを取得できました。さらに、パフォーマンステストをビルドに組み込むこともできます。

もちろん、Windows用です。ツール用の約6,000ドルの価格タグに加えて、追加の負荷エージェントごとに同じ高さのビットを追加することができます。

関連する問題