Upgrade to Pro — share decks privately, control downloads, hide ads and more …

k6で負荷試験をやってみた話

山田哲也
October 20, 2023
550

 k6で負荷試験をやってみた話

山田哲也

October 20, 2023
Tweet

Transcript

  1. サービス k6 JMeter 特徴 コードベース (JavaScriptで記述) 2017年リリース Go製(Github★数: 21.8k) HTTP/HTTPS/WebSocket/gRPCをサポート

    Grafana, Prometheusなどとの統合が簡単 GUIベース (CLIも利用可能) 2001年リリース Java製(Github★数: 7.4k) 複数のプロトコルをサポート プラグイン、サードパーティのツールとの 統合が充実 利点 コードベースなのでGitやCICDが活用できる クラウドサービスとの連携が簡単(特に Grafana Cloud) プラグインによる機能拡張でRDBMSなどの テストも可能 GUIによるシナリオ作成 事例が豊富 グラフィカルなレポート作成 プラグインによる機能拡張 k6とJMeterの比較
  2. サービス k6 JMeter 特徴 コードベース (JavaScriptで記述) 2017年リリース Go製(Github★数: 21.8k) HTTP/HTTPS/WebSocket/gRPCをサポート

    Grafana, Prometheusなどとの統合が簡単 GUIベース (CLIも利用可能) 2001年リリース Java製(Github★数: 7.4k) 複数のプロトコルをサポート プラグイン、サードパーティのツールとの 統合が充実 利点 コードベースなのでGitやCICDが活用できる クラウドサービスとの連携が簡単(特に Grafana Cloud) プラグインによる機能拡張でRDBMSなどの テストも可能 GUIによるシナリオ作成 事例が豊富 グラフィカルなレポート作成 プラグインによる機能拡張 k6とJMeterの比較 使ってみた感想 GUIよりコードの方がシナリオの内容を把握しやすい k6の方がレスポンスの値を使いまわしやすい
  3. メトリクス 説明 vus 現在のアクティブな仮想ユーザーの数 iterations VU が JS スクリプトを実行する合計回数 http_reqs

    k6 が生成した HTTP リクエストの合計数 http_req_duration リクエストの合計時間 http_req_blocked リクエストを開始するまでにブロックされた時間 (空き TCP 接続スロットを待機してい る時間) http_req_waiting リモート ホストからの応答を待機するのに費やした時間 (「最初のバイトまでの時間」 または「TTFB」とも呼ばれます) k6で確認できるメトリクス(一部)