JavaScriptでパフォーマンステストを記述し、Go製バイナリで実行するオープンソースの負荷テストツール。
artilleryio/artillery
HTTP API、WebSocket、Socket.io、gRPC、Playwrightのブラウザーシナリオに対応し、AWS LambdaやFargateでスケールできるオープンソースの負荷テストプラットフォーム。
代替できる製品:LoadRunner
BlazeMeter
- スター
- 9,118
- フォーク
- 576
- 未解決の Issue
- 491
- 最終コミット
- 18 日前
これは何?
Artilleryは、大量のトラフィック下でAPIやWebサービスがどう動作するかを確認したい開発者やQAチーム向けの負荷テストツールです。テストは、リクエストチェーンや複数のステップ、トランザクションでユーザーの操作を再現するシナリオとして定義します。単一のエンドポイントに繰り返しアクセスするのではなく、実際のユーザーの利用経路を反映したテストを作成できます。
通常のHTTPに加えて、WebSocket、Socket.io、gRPC、Kinesisに対応しています。また、Playwrightを使って実際のヘッドレスブラウザーを操作し、フロントエンドの一連の操作を負荷テストできます。監視、オブザーバビリティ、CI/CDパイプラインとの連携機能を備え、Node.jsモジュールで動作を拡張するためのプラグインAPIもあります。
大規模なテストでは、負荷をAWS LambdaまたはAWS Fargateに分散できるため、負荷生成用のインフラを自前で管理せずに実行できます。コードの一部はMPL 2.0で提供されていますが、Azure固有の一部モジュールにはBSLライセンスが適用され、本番環境で使用するには商用ライセンスが必要です。
主な機能
- 01HTTP API、WebSocket、Socket.io、gRPCの負荷テストを実施できます。
- 02Playwrightを使ったブラウザーベースの負荷テストを実行できます。
- 03AWS LambdaまたはAWS Fargateにテストを分散できます。
- 04リクエストチェーンやトランザクションで複数ステップのユーザーフローを再現できます。
- 0520以上の監視、オブザーバビリティ、CI/CDツールと連携します。
- 06プラグインAPIとNode.jsモジュールで動作を拡張できます。
ユースケース
- リリース前に、REST APIやGraphQL APIがピークトラフィックに耐えられるか確認する。
- 実際のヘッドレスブラウザーを使って、Webフロントエンドの重要なユーザーフローを負荷テストする。
- CI/CDパイプラインでパフォーマンスのリグレッションテストを実行する。
- サーバーを管理せずに、サーバーレスインフラから大規模な負荷を生成する。
使う前に知っておきたいこと
- Azure専用モジュールの一部はBSLライセンスの対象です。そのため、Azure上で商用利用または本番環境で利用するには商用ライセンスが必要です。
- コードの大部分はMPL 2.0でライセンスされているため、リポジトリ全体では2種類のライセンスが混在しています。
収録されている特集
トピック
よくある質問
- artillery とは?
- HTTP API、WebSocket、Socket.io、gRPC、Playwrightのブラウザーシナリオに対応し、AWS LambdaやFargateでスケールできるオープンソースの負荷テストプラットフォーム。 Artilleryは、大量のトラフィック下でAPIやWebサービスがどう動作するかを確認したい開発者やQAチーム向けの負荷テストツールです。テストは、リクエストチェーンや複数のステップ、トランザクションでユーザーの操作を再現するシナリオとして定義します。単一のエンドポイントに繰り返しアクセスするのではなく、実際のユーザーの利用経路を反映したテストを作成できます。
- artillery は無料で使えますか?ライセンスは?
- artillery は MPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- artillery は今もメンテナンスされていますか?
- 活発にメンテナンス中。artillery の最終コミットは 2026年10月20日 です。
- artillery は何に使えますか?
- リリース前に、REST APIやGraphQL APIがピークトラフィックに耐えられるか確認する。 実際のヘッドレスブラウザーを使って、Webフロントエンドの重要なユーザーフローを負荷テストする。 CI/CDパイプラインでパフォーマンスのリグレッションテストを実行する。 サーバーを管理せずに、サーバーレスインフラから大規模な負荷を生成する。
- artillery はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/artilleryio/artillery
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
REST、GraphQL、WebSocket、SSE、Socket.IO、MQTTのリクエストを送信できる、Web・デスクトップ・CLI対応のオープンソースAPI開発エコシステム。
Go製のローカルファーストなネイティブAPIクライアント。REST、gRPC、GraphQL、WebSocketに対応し、トラフィックプロキシを内蔵。
Webアプリケーションなどの負荷テストと性能測定に使える、オープンソースのJavaアプリケーション。
Java、Kotlin、Scala、JavaScript、TypeScriptでパフォーマンステストのシナリオをコードとして記述できるオープンソースの負荷テストツール。
PuppeteerやPlaywrightのスクリプトがWebSocket経由で接続できる、Docker上のセルフホスト型ヘッドレスブラウザーサービス。