Artillery.ioを使用した負荷テストの設定

私は最近、砲兵ツールを使用して負荷テストテストを書き始めました。以前はK6のテストを作成していたので、K6に対する砲兵の利点について説明し、プロジェクトを最初から設定するためのステップバイステップのスクリプトも作成します。





ステップ1.インストール

npm install -g artillery@latest
      
      



メトリックを追跡するだけでなく、サーバーが正しい回答を送信することを確認する必要があるため、プラグインをインストールして、期待される結果を受信した結果と比較します。





npm i artillery-plugin-expect
      
      



手順2.構成を作成する

ターゲットURL、環境

負荷テスト構成ファイルは、テストを実行するために必要なすべてです。





config:
  target: "https://yourapp.com/api"
      
      



environment , target url:





config:
  target: "https://bestapp.com/api"
  environments:
    dev:
      target: "https://bestapp.dev.com/api"
    qa:
      target: "https://bestapp.qa.com/api"
      
      



artillery . : duration – ; arrivalRate – , ; ramptTo – ; name - .





phases:
    - duration: 30
      arrivalRate: 1
      rampTo: 20
      name: test1
      
      



target url, , environment, .





:





plugins:
    expect: {}
      
      



username password:





- get:
    url: "/auth"
    auth:
      user: username
      pass: password
      
      



header:





- post:
    url: "/auth"
    headers:
      Authorization: “Basic secretKey”
      
      



3.

scenarios. , (GET, POST, PUT, DELETE .), url endpoint, body json, .





:





scenarios:
    - name: "My first test"
       flow:
         - post:
            url: "/endpoint1"
            json:
              id: value
        expect: 
          - statusCode: 200
          - contentType: json 
          - equals: 
             - respMessage: "OK"
      
      



equals , .





4.

:





artillery run yourConfig.yml
      
      



scripts package.json .





-e <env> - environment,

--quiet – ,

-o result.json – .





html

:





artillery report result.json
      
      



K6

砲兵の主な利点は、最初のテスト実行のセットアップが非常に簡単なことです。K6用に定義された形式でテストを書き直す必要はなく、複数のテストを実行して結果を別のフォルダーに保存するためにbatファイルを書き込む必要もありません。1つのファイルを構成するだけで十分です。





砲兵はnode.jsで動作するため、起動スクリプトをpackage.jsonに挿入できます。





cvsファイルから変数をインポートし、結果から変数を取得できます。





グラフとチャートを含むレポートは1つのコマンドで追加され、砲兵の無料バージョンに含まれています。








All Articles