k6
golang製の負荷試験ツール k6を一言で言うとJSで書けるツールになっており、ユニットテストみたいに性能テストすることを目指しいるOSS。
k6 ユビキタス
--vus : 並列数 --duration : 期間 thresholds : 閾値
k6仕組み
K6は Javascript
を用いて負荷試験のテストを実施するががGolangの内部でECMAScript 2015+(ES6+)を実行している。
K6はNode.jsでも、ブラウザーでもなく、Node.jsによって提供されるAPIに依存するパッケージ、たとえばosとfsモジュールはK6では機能しない。
その為、データ加工などのモジュールを提供しているのがこれらです。
データ加工モジュール
Headless Browser を使ったブラウザテスト
Playwright API互換を目指しているようですが、K6内での動きはそれと異なる場合があります。 これはK6がNode.jsの上で動いていないかつ、イベントループをサポートしていないためです。
k6 jslib
まず、K6には k6 jslib
というK6の拡張ツール等がある。
参考URL
k6-jslibはawsなどがあるがgcp版はない