📖

EC2(Amzon Linux2)に、K6をインストールする

2024/03/04に公開

EC2(Amzon Linux2)に、K6をインストールして、負荷を掛ける手順です。

環境

OSイメージ

Amazon Linux 2 Kernel 5.10 AMI 2.0.20240223.0 x86_64 HVM gp2

インスタンスタイプ

t2.micro

インストール

k6 の RPM リポジトリを追加

yum を使って k6 をインストールするために、k6 の RPM リポジトリを追加します。

sudo yum install https://dl.k6.io/rpm/repo.rpm

K6のインストール

--nogpgcheck フラグを付けて k6 パッケージを GPG チェックなしでインストールします。GPG チェックはパッケージの信頼性を確認するためのものです。

sudo yum install --nogpgcheck k6

もし、--nogpgcheck フラグ無しでインストールすると、以下のようなエラーになると思います。

Public key for k6-v0.49.0-amd64.rpm is not installed


 Failing package is: k6-0.49.0-1.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-k6-io

正常にインストールできたか確認

k6 version
>  k6 v0.49.0 (commit/b5328aa782, go1.21.6, linux/amd64)

負荷を掛ける

以下のsample.jsを作成します。

sample.js
import http from 'k6/http';

export const options = {
    vus: 1,
    duration: '10s',
};

export default function () {
    http.get('http://test.k6.io');
}

この例では、同時に実行される仮想ユーザー(VUs)の数を1に指定し、k6のテスト用のAPIに10秒間の負荷を掛けます。

k6 run sample.js

実行すると以下のようなサマリーが得られると思います。

data_received..................: 349 kB 34 kB/s
data_sent......................: 6.2 kB 601 B/s
http_req_blocked...............: avg=8.84ms   min=4.63µs   med=6.11µs   max=337.45ms p(90)=10.85µs  p(95)=17.63µs 
http_req_connecting............: avg=5.81ms   min=0s       med=0s       max=169.37ms p(90)=0s       p(95)=0s      
http_req_duration..............: avg=168.93ms min=167.72ms med=168.28ms max=181.33ms p(90)=169.44ms p(95)=172.21ms
{ expected_response:true }...: avg=168.93ms min=167.72ms med=168.28ms max=181.33ms p(90)=169.44ms p(95)=172.21ms
http_req_failed................: 0.00%  ✓ 0        ��� 58 
http_req_receiving.............: avg=81.5µs   min=49.79µs  med=68.77µs  max=224.81µs p(90)=115.69µs p(95)=125.86µs
http_req_sending...............: avg=19.64µs  min=13.8µs   med=16.57µs  max=61.04µs  p(90)=29.78µs  p(95)=31.91µs 
http_req_tls_handshaking.......: avg=2.91ms   min=0s       med=0s       max=169.24ms p(90)=0s       p(95)=0s      
http_req_waiting...............: avg=168.83ms min=167.59ms med=168.18ms max=181.25ms p(90)=169.3ms  p(95)=172.11ms
http_reqs......................: 58     5.62205/s
iteration_duration.............: avg=355.71ms min=336.14ms med=337.01ms max=850.85ms p(90)=343.19ms p(95)=348.59ms
iterations.....................: 29     2.811025/s
vus............................: 1      min=1      max=1
vus_max........................: 1      min=1      max=1

EC2にインストールしたK6で負荷を掛ける手順は、以上です。

Discussion