WebテストGrinder / nGrinder / ngrinder / gor / tcpcopy
Web Test Grinder Ngrinder Ngrinder Gor Tcpcopy
s
https://github.com/naver/ngrinder/wiki/User-Guide
nGrinderインストールガイド
http://www.cnblogs.com/yzuzhang/p/5692771.html
https://my.oschina.net/u/939534/blog/102878
nGrinderを使用したパフォーマンステストのガイド
http://ju.outofmemory.cn/entry/197566
大規模システムのフルフロー圧力測定と安定性の保証-Jingdongトランザクション構造の共有(PPTを含む)
http://toutiao.com/i6301184939064820226/
究極のWebアプリケーションパフォーマンスおよびストレステストツールGor
http://sanyue.iteye.com/blog/2221036
Apacheabなどの多くのWebアプリケーションストレステストツールがあります。 node-ab 、Apache JMeter、LoadRunner、httperf。しかし、これらのツールはどれも問題を解決しません。
本番環境のフローを適切にシミュレートする方法
今日のWebアプリケーションは非常に複雑で、負荷分散、サービス、およびRPC呼び出しの関係が複雑であり、特定のURLまたはAPIインターフェイスにGET要求を送信するだけでは、実際のトラフィックをシミュレートできません。 HTTPログを再生すると、操作が非常に面倒になります。 Tcpcopyはリアルタイムのトラフィックを複製できますが、操作は複雑です。前 Amazonクラウドプラットフォームの移行 Gorツールを使用しました。
http://www.oschina.net/p/tcpcopy
Tcpcopyは、アプリケーション要求複製(tcpベースのパケット)ツールであり、幅広いアプリケーション分野を持ち、中国の主要なインターネット企業に適用されています。
一般に、tcpcopyには主に次の機能があります。
1)オンラインデータを使用する分散型ストレステストツールは、システムが耐えることができる圧力の量をテストするか(abストレステストツールよりはるかに大きい)、またはいくつかのバグを事前に見つけることができます
2)通常のオンラインテストでは、新しいシステムが安定しているかどうかを確認し、オンライン化の過程で発生する多くの問題を発見できるため、開発者は自信を持ってオンライン化できます。
3)コントラストテスト、同じリクエスト、プログラムの異なるバージョンまたは異なるバージョンに対して、パフォーマンスの比較やその他のテストを行うことができます
4)さまざまな手段を使用して、無制限のオンラインプレッシャーを構築し、中小規模のWebサイトのストレステスト要件を満たします。
5)実践的な演習(建築家にとって不可欠)
Tcpcopyは、リアルタイムおよびオフラインの再生に使用でき、tcpcopyはmysqlプロトコルのレプリケーションをサポートします。オープンソースの2年以来、機能はますます完璧になっています。
オンラインに接続することに自信がない場合、単体テストが十分でない場合、新しいシステムについて十分に確信が持てない場合、将来の要求に対するプレッシャーが予測できない場合、tcpcopyは上記の問題の解決に役立ちます。
Gorは、Webアプリケーションのストレステストに最適なソリューションです。
Gorを見つけるまで、私はシンプルで便利なソリューションを探していました。 Gorは、Golangで記述されたHTTPリアルタイムトラフィックレプリケーションツールです。 LBまたはVarnishポータルサーバーでプロセスを実行するだけで、本番環境のトラフィックをステージング環境や開発環境などの任意の場所にコピーできます。 HTTPレイヤーのリアルタイムトラフィックレプリケーションとストレステストの問題は完全に解決されています。
Gorの機能
Gorは、トラフィックの増幅と削減、周波数制限をサポートしているため、同じ環境で構築および作成する必要のないサーバークラスターを正しくテストできます。 Gorは、正規表現に基づくトラフィックのフィルタリングもサポートしています。つまり、APIサービスを個別にテストできます。 User-Agentの置き換えや、いくつかのHTTPヘッダーの追加など、HTTPリクエストヘッダーを変更することもできます。
Gorは、再生と分析のためにリクエストをファイルに記録することもできます。 Gorは、ElasticSearchとの統合をサポートして、リアルタイム分析のためにトラフィックをESに保存します。
Gorの一般的なコマンド
単純なHTTPトラフィックレプリケーション:
gor –input-raw:80 –output-http“ http://staging.com”
HTTPトラフィック複製頻度制御:
gor –input-tcp:28020 –output-http“ http://staging.com | 10”
HTTPトラフィックレプリケーションが縮小します:
gor –input-raw:80 –output-tcp“ replay.local:28020 | 10%”
HTTPトラフィックはローカルファイルに記録されます。
gor –input-raw:80 –output-filerequests.gor
HTTPトラフィックの再生と圧力測定:
gor –input-file“ requests.gor | 200%” –output-http“ staging.com”
HTTPトラフィックフィルタリングレプリケーション:
gor –input-raw:8080 –output-http staging.com –output-http-url-regexp ^ www。
やっと
Golangによって書かれたGorはオープンソースです。つまり、自分のGorに簡単に統合できます。 建築 ストレステストプラットフォーム、リアルタイムトラフィック分析、アプリケーション層ファイアウォールなどで使用できます。
便利なリンク
https://github.com/buger/gor
https://github.com/doubaokun/node-ab
https://github.com/session-replay-tools/tcpcopy
https://github.com/httperf/httperf
https://github.com/buger/gor/blob/master/ELASTICSEARCH.md
挽く
www.cubrid.org/wiki_ngrinder/entry/installation-guideを参照してください
1.コントローラーをダウンロードしてインストールします。ダウンロードアドレス:sourceforge.net/projects/ngrinder/files
2.ダウンロードエージェントconfigureNGRINDER_AGENT_HOME、C: DOCUME〜1 ADMINI〜1 .grinder_agent
3、モニターをインストールします
http://www.iteye.com/topic/1127810
nGrinderは、Grinder(http://grinder.sourceforge.net/)に基づく、管理と使用が非常に簡単なオープンソースのパフォーマンステストシステムです。
これは、コントローラーとそれに接続する複数のエージェントで構成されます。ユーザーは、Webインターフェイスを介してテストを管理および制御したり、テストレポートを表示したりできます。コントローラは、実行のためにテストを1つ以上のエージェントに配布します。ユーザーは、複数のスクリプトとスレッドを設定してスクリプトを同時に実行し、同じスレッドでテストスクリプトを繰り返し実行して、多数の同時ユーザーをシミュレートできます。
nGrinderのテストは、Pythonテストスクリプトに基づいています。ユーザーが特定のルールに従ってテストスクリプトを記述した後、コントローラーは必要なスクリプトとその他のファイルをエージェントに配布し、Jythonで実行します。また、実行プロセス中に、実行ステータス、応答時間の収集、ターゲットサーバーの実行ステータスのテストなどを行います。そして、これらのデータを保存して、後で確認できるように実行レポートを生成します。
nGrinderの優れた機能の1つは、非常に使いやすく、インストールも非常に簡単なことです。箱から出してすぐに使用でき、テストユーザーは簡単にテストタスクを開始できます。もちろん、より複雑なシナリオでパフォーマンステストを実行する場合は、Pythonの知識が必要です。
プロジェクトのURL:
http://www.nhnopensource.org/ngrinder/
インデックスページ:
テストリストページ
テスト構成ページ
テスト実行ページ
テストレポートページ
スクリプト編集ページ
終わり