Alex の主な機能
ストレス テストを繰り返すためにストレス テスト パラメータを保存します
後で表示および共有できるようにストレス テスト レポートを保存します
シンプルで直接的なグラフィカル レポートとテキスト レポートを提供します
複数の http インターフェイスで同時にストレス テストを実行できます
クラスター内の複数のホスト:ポートのペアでストレス テストを同時に実行できます
複数の呼び出しパラメーター セットを使用して、ストレス テスト中のデータ ホット スポットを回避します
段階的なストレス ソースを生成するためにステップ設定を使用します
シンプルなストレステストマシン システムステータスのリアルタイム表示機能
Alex の制限事項
Alex は単一プロセスで実行されます。分散ストレステスト環境が必要な場合は、複数のノードを配置してストレステストを実行する必要があります。同時。
ベジータは、圧力が過負荷になったときにすぐに停止する方法を提供しません。そのためには、ストレス テストの手順を慎重に設計し、システムの状態を注意深く観察して、システムの過負荷を回避する必要があります。
Qps と同時実行数は大きすぎてはなりません。以前、Alex ツールを使用して、単一プロセスで HelloWorld Web プログラムをテストしました。各リクエストは 1,500 バイトを吐き出し、QPS は最大 60,000 バイトに達する可能性があり、基本的にギガビット ネットワーク カードがいっぱいになりました。
大規模なストレス テストでは Gzip 解凍を避けるようにしてください。解凍は CPU リソースを大量に消費するため、ストレス テスト レポートが不正確になる可能性があります。複数のノードを展開することで、大規模なストレス テストを実行できます。
HTTPプロトコルのみをサポートします。 HTTPS プロトコルは、暗号化と復号化でも大量の CPU リソースを消費し、レポートが不正確になるため、サポートされる予定はありません。
このレポートはパフォーマンスの参考情報を提供するだけです。レポートに疑問を抱くには十分な勇気が必要です。
Alex には非常に多くの制限がありますが、日常の使用には影響しません。
インストール
install mongodb install golang # 1.4+ is required go get github.com/go-martini/martini go get github.com/tsenart/vegeta go get gopkg.in/mgo.v2 go get github.com/shirou/gopsutil # godep restore git clone https://github.com/shellquery/alex.git cd alex go build ./alex ./alex -c config.json open browser http://localhost:8000/
config.jsonを構成する
{ "BindAddr": "localhost:8000", "MongoUrl": "mongodb://localhost:27017/alex", "Teams": [ "python", "java", "php", "go" ] }