Github: https://github.com/locustio/locust
ローカスト
リンク
- ウェブサイト: locust.io
- ドキュメント: docs.locust.io
- サポート/質問: 申し訳ありません
説明
Locustは使いやすい、分散型のユーザー負荷テストツールです。 これは、Webサイト(または他のシステム)の負荷テストと、システムが処理できる同時ユーザー数を把握するためのものです。
テスト中は、イナゴの群れがあなたのウェブサイトを攻撃するという考えがあります。 それぞれのイナゴの行動(もしあればテストユーザー)はあなたによって定義され、暴走プロセスはWeb UIからリアルタイムで監視されます。 これは、実際のユーザを入れる前に、戦闘テストとコード内のボトルネックを特定するのに役立ちます。
Locustは完全にイベントベースなので、1台のマシンで数千人の同時ユーザーをサポートすることができます。 他の多くのイベントベースのアプリケーションとは対照的に、コールバックは使用しません。 代わりに、 geventを使用して軽量プロセスを使用します。 あなたのサイトを襲っているそれぞれのイナゴは、実際には独自のプロセス(またはグリーンレット、正しいもの)の中で実行されています。 これにより、コードを複雑にすることなく、非常に表現力豊かなシナリオをPythonで記述することができます。
特徴
-
普通のPythonでユーザテストシナリオを書く
通常と同じように、厄介なUIや膨大なXMLだけのコードは必要ありません。 コールバックではなくコルーチンに基づいて、コードは通常のように見え、動作し、Pythonコードをブロックします。 -
分散型およびスケーラブル – 何十万人ものユーザーをサポート
Locustは、複数のマシンに分散された実行負荷テストをサポートします。 イベントベースであるため、1つのLocustノードでも、1つのプロセスで何千ものユーザを処理できます。 この背後にある理由の1つは、多くのユーザーをシミュレートしても、すべてがあなたのシステムに活発にぶつかるわけではないということです。 しばしば、ユーザーは次に何をすべきかを把握していません。 Requests per second!=オンラインユーザー数。 -
WebベースのUI
Locustには、関連するすべてのテストの詳細をリアルタイムで表示するきちんとしたHTML + JSがあります。 UIはWebベースなので、クロスプラットフォームで簡単に拡張できます。 -
任意のシステムをテストできます
Locustはウェブ指向であるにもかかわらず、ほぼすべてのシステムをテストするために使用できます。 あなたがテストしたいと思うもののクライアントを書いて、それをイナゴで駆逐するだけです! 超簡単です! -
Hackable
Locustは非常に小さく、非常にハッキング可能で、我々はそれをそのままにしておくつもりです。 イベントが発生したI / Oとコルーチンのすべての大量リフティングはgeventに委任されます。 代替テストツールの脆弱性が私たちがローカストを作った理由でした。
ドキュメンテーション
詳細情報とドキュメントは次の場所にあります: https://docs.locust.io/
質問/助け?
Locustを使用する方法についての質問は、Slackで止めるか、Stack Overflow tagged Locustで質問してください。
バグ報告または機能要求
Githubの問題を開き、そこにリストされているテンプレートに従います。
著者
- CarlByström (@ cgbystrom on Twitter)
- Jonatan Heyman (@ jonatanheyman on Twitter)
- ジョアキム・ハムレン(@ ジャハジャ )
- ヒューゴ・ヘイマン(@ hugoheyman )
ライセンス
オープンソースはMITライセンスの下でライセンスされています(詳細については、 LICENSEファイルを参照)。
サポートされているPythonのバージョン
Locustは、Python 2.7,3.3,3.4,3.5、および3.6をサポートしています。