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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for 山田哲也 山田哲也
October 20, 2023
970

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

Avatar for 山田哲也

山田哲也

October 20, 2023

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で確認できるメトリクス(一部)