k6 2.3.0 は負荷試験を流れ作業に載せる、スクリプトは JavaScript、しきい値が合否を決める
要約
k6 は Go の引擎で動き、試験のスクリプトは JavaScript か TypeScript で書く。しきい値を満たさなければその回は不合格となり、結果は Grafana の板にも送れる。いまの版は 2.3.0。
おすすめ- ソフト名
- k6
- バージョン
- 2.3
- 料金
- 無料
- オープンソース
- オープンソース
- OS
- WindowsLinuxmacOS
- 更新日時
- 2026-10-21 12:40
k6 は公開の負荷試験の道具で、引擎は Go、試験のスクリプトは JavaScript か TypeScript で書く。性能の試験をソフトウェア工学の一部として扱うので、スクリプトは倉庫に入り、しきい値はスクリプトに書き、走り終われば合格か不合格かの結論が出て、そのまま流れ作業に繋がる。
実行ファイル一つ、スクリプト一本
配り方はどの命令行の道具とも同じだ。Linux は deb、rpm、tar、macOS は x64 と arm64 の圧縮包、Windows は msi と zip で、実行ファイルを一つ置けば走る。 この企画は Grafana Labs が守り、2016 年に始まり、2021 年に創業の会社と一緒に Grafana Labs へ入り、許諾は GNU AGPL の第三版。
スクリプトは JavaScript の部品で、出す既定の関数が各々の仮想の利用者が回す一周になる。設定は options という入れ物に書き、命令行から上書きもできる。TypeScript でも書ける。引擎は Go で、一つの行程がごく少ない記憶で多くの仮想利用者を起こせる。そこをいつも押している。

しきい値:SLO を判定の条件として書く
しきい値はこの道具と「一度走らせて見る」の境目だ。指標に合格の線を引き、終わったときに満たさなければ失敗の状態を返す。文書の例は具体的だ。
判定の条件 | 文書にあるしきい値の例 |
|---|---|
誤りの割合 | 一パーセント未満 |
九五パーセントの要求 | 返りの時間が 200 ミリ秒未満 |
九九パーセントの要求 | 返りの時間が 400 ミリ秒未満 |
ある特定の端点 | いつも 300 ミリ秒以内 |
自前の指標にも同じくしきい値を置ける。終了の値が結果で変わるので、しきい値は流れ作業の中の切り替えになる。公式の自動化の三手はこうだ。まず試験にしきい値を書き、次に実行を自動にし、最後に失敗へ報せを付ける。その後は系が目標に届かないときだけ人が関わる。
検査:止めない断言
検査は真か偽かの条件を確かめる。状態の番号が 201 か、返りの本体の大きさが正しいか、といったことだ。多くの試験の枠組みの断言に似るが、決定的な違いが一つある。検査が落ちても試験は止まらず、その回も不合格にならず、落ちた割合を指標として書き留めるだけだ。
検査に本当に流れを止めさせるには、しきい値と組にする。検査が事実を集め、しきい値が結論を出す。この分け方のおかげで、一度の負荷試験が変わった標本を残らず集めながら、最後に明確な可否を出せる。
シナリオ:一度の試験で幾つもの流れを走らせる
シナリオは仮想の利用者と繰り返しをどう捌くかを書く。一つのスクリプトに幾つものシナリオを宣言でき、それぞれ違う関数を、違う実行の仕組みで、互いに独立して並行に走る。始まりの時刻をずらせば順番ができる。シナリオごとに環境の変数と印を付けられ、纏めるときは印で切り分けて見る。
この仕組みは実際の通信の形に対応する。変わらない固定の同時、段階に圧を上げる坂、同時の数ではなく到着の割合で圧をかける形、そして尖りと長い浸し。負荷のスクリプトを形ごとに書き直さずに済む。
規約と拡張
最初から使える規約は四つ。HTTP/1.1、HTTP/2、WebSocket、gRPC だ。HTTP/2 は自分で上がる。まず HTTP/1.1 で繋ぎ、サーバーが対応すると告げたら切り替わる。スクリプトは変えなくてよい。
他の規約を試すには自分で組んだ実行ファイルが要る。 この企画は xk6 という組み立ての道具を出していて、共同体がこれで SQL、Kafka、ZeroMQ、Redis を繋いできた。拡張は四種類ある。JavaScript の拡張はスクリプトに接続口を足し、出力の拡張は指標を自前の形や奉仕へ送り、鍵の拡張は試験に証明を渡し、副命令の拡張は k6 の名の下に自前の命令を足す。
結果はどこへ行くか
既定では走り終わりに纏めを出し、寄せた数字を渡す。一つ一つの点まで見たいときは、その場で流す出力を開き、JSON のファイルに書くか、そのまま後ろの奉仕へ押し出せる。公式が挙げる行き先には Prometheus、Mimir、Datadog、New Relic、Timescale のような時系列と分析の仕組みがあり、内側の画面の板でも曲線をその場で見られる。
この道筋は Grafana の立ち位置と密に繋がる。k6 が作るのは合成の通信で、Grafana が受けるのは指標、記録、経路。両方を合わせると「公開の前に進んで圧をかける」と「公開の後に実際の通信を後ろから見る」が同じ一本の時間の線になる。
2.x が変えたもの
2.0 は片付けだった。長く捨てると告げていた命令と引数を外し、Go の部品の道を v2 の付いた新しい住所へ移し、すべての拡張が取り込みの道を合わせる必要が出た。互換を断つ上げ方で、配布の記録にもそう書いてある。
2.3.0(2026 年 9 月 21 日)が足したのは実用的なものだ。scenario の引数で、スクリプトを変えずに試験の中の幾つかのシナリオだけを走らせられる。once の引数で、負荷のスクリプトをそのまま煙の試験や機能の試験に使える。非同期の組の試験的な対応で、await の後も指標が正しい組に残る。別に 1.8.2(10 月 12 日)は依存の中の安全の問題だけを直し、機能は足さない。二本の版の線が並んで走り、一本は前へ、一本は繕いだけを当てる。
誰に向くか
すでに Grafana の観測の束を使っている班なら、k6 を繋ぐのにほとんど摩擦がない。指標は同じ保管に入り、板も分け合える。試験を倉庫に書くのに慣れた作り手は、図で組む負荷の道具より手に合うと感じる。スクリプトは吟味でき、再現でき、流れ作業に載せられる。
逆に、一度だけ接続口を押して数字を見たいだけなら、命令行と数十行のスクリプトがやはり最短だ。目で組む画面は持たず、作るつもりもない。前提はこうだ。性能の試験は単体の試験と同じく、コードを書く人が書くべきもの。
k6 は性能の試験を「コード」の側へ引く。スクリプトはコード、判定はコードの中のしきい値、結論は行程の終了の値。Go の引擎はできるだけ少ない資源で通信を作り、Grafana の後ろがそれを読める曲線に変える。2016 年に始まり、2021 年に Grafana Labs へ入り、倉庫は三万一千余りの星、許諾は AGPL の第三版。単体の試験のように性能を測る道を行く。