HTTP API、WebSocket、Socket.io、gRPC、Playwrightのブラウザーシナリオに対応し、AWS LambdaやFargateでスケールできるオープンソースの負荷テストプラットフォーム。
- スター
- 32,185
- フォーク
- 1,715
- 未解決の Issue
- 764
- 最終コミット
- 昨日
これは何?
k6は、開発者やテスター向けの負荷テストツールです。テストスクリプトはJavaScriptで記述し、実行エンジンはGoで実装されているため、控えめなスペックのハードウェアでも、単一のスクリプトで多数の仮想ユーザーをシミュレートできます。
スクリプトでは、HTTP、WebSocket、gRPC、ブラウザベースのシナリオ向けAPIを利用できます。また、たとえば「リクエストの99%が指定時間内に完了すること」のような合否判定基準として使える閾値を設定できます。ステージを使って負荷プロファイルを設定でき、ワークロードはオープンモデルやクローズドモデル、一定のリクエストレート、固定回数のイテレーションとしてモデル化できます。
テストはコードとして管理するため、バージョン管理やモジュール化ができ、コマンドライン、CIパイプライン、Kubernetesクラスター上で実行できます。結果はさまざまなメトリクスバックエンドにエクスポートでき、プロジェクトはプロトコルやユースケースを拡張するための拡張機能にも対応しています。
主な機能
- 01負荷テストをJavaScriptのスクリプトとして記述できます。
- 02HTTP、WebSocket、gRPC、ブラウザのテストに対応しています。
- 03SLOなどのパフォーマンス目標を、合否判定用の閾値として定義できます。
- 04一定のリクエストレートや段階的な負荷増加など、柔軟な負荷モデルに対応しています。
- 05結果を外部のメトリクスサービスにエクスポートできます。
- 06コミュニティの拡張機能エコシステムを通じて機能を拡張できます。
ユースケース
- リリース前にWeb APIの負荷テストを行い、スループットの限界を見つける。
- CIパイプラインにパフォーマンスのリグレッションチェックを追加する。
- Kubernetesクラスター内で分散負荷テストを実行する。
- シミュレーションしたトラフィック下で、応答時間のSLOを満たせるか検証する。
クイックスタート
- 1
リリースページからk6をダウンロードします
- 2
Get Startedのドキュメントに従って、インストールしてテストを実行します
使う前に知っておきたいこと
- AGPL-3.0でライセンスされています。コピーレフトライセンスのため、商用利用では条件に注意が必要な場合があります。
収録されている特集
トピック
よくある質問
- k6 とは?
- JavaScriptでパフォーマンステストを記述し、Go製バイナリで実行するオープンソースの負荷テストツール。 k6は、開発者やテスター向けの負荷テストツールです。テストスクリプトはJavaScriptで記述し、実行エンジンはGoで実装されているため、控えめなスペックのハードウェアでも、単一のスクリプトで多数の仮想ユーザーをシミュレートできます。
- k6 は無料で使えますか?ライセンスは?
- k6 は AGPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- k6 は今もメンテナンスされていますか?
- 活発にメンテナンス中。k6 の最終コミットは 2026年11月6日 です。
- k6 は何に使えますか?
- リリース前にWeb APIの負荷テストを行い、スループットの限界を見つける。 CIパイプラインにパフォーマンスのリグレッションチェックを追加する。 Kubernetesクラスター内で分散負荷テストを実行する。 シミュレーションしたトラフィック下で、応答時間のSLOを満たせるか検証する。
- k6 のインストール方法は?
- リリースページからk6をダウンロードします Get Startedのドキュメントに従って、インストールしてテストを実行します
- k6 はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/grafana/k6
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
gRPCサービスのベンチマークや負荷テストに使えるCLIツール。並行数、リクエストレート、出力形式を設定できます。
Webアプリケーションなどの負荷テストと性能測定に使える、オープンソースのJavaアプリケーション。
APIテスト、モックサーバー、パフォーマンステスト、UI自動化を1つのツールに統合したオープンソースのフレームワーク。
fasthttpを基盤とする、Go製のクロスプラットフォームなHTTP(S)ベンチマーク・負荷テスト用コマンドラインツールです。
fasthttpを使ったGo製のHTTP(S)負荷テストCLI。リアルタイムのターミナル表示とWebチャートに対応。