性能系の確認をしたい場合に使うやつ。nodeで動くので、node必須。公式?はココ

インストール。CentOS7。nodeとnpm入れてから。入ってない場合はコッチ参照

npm install -g loadtest

で、色々オプションがあるんだけど、とりあえずの使用は↓

loadtest [-n requests] [-c concurrency] URL

ex.
loadtest -n 200 -c 10 http://localhost/hoge

使いそうなオプションは↓

-n requests 送るリクエストの数。-c指定してる場合にリクエストの総数がパラメータよりも大きくなる可能性があるとのこと。その場合は最初のn個だけレポートするらし。
-c concurrency 擬似的にクライアントをここで指定した個数分作って、並列処理するらし。 プロセス的に分けて並列してるわけではない模様。応答が返ってくる前に2個目のリクエストが送信される場合もあるってさ。
-t timelimit リクエスト送り続ける秒数。応答が返ってきてなくても終わらせるってさ。
-C cookie-name=value cookie付けたい場合。複数ある場合は繰り返して書けって事らし。
-H header:value ヘッダーつけたい場合。jwtのテストとかで使えそう?「-h ”Authorization: JWT token-value"」的に。複数ある場合は繰り返して書けってさ。
-P POST-body ポストの中身。「-P '{"key": "a9acf03f"}'」みたいな。
-m method メソッドの指定。デフォはGET。POSTにしたい時⇒「-m POST」
-T content-type content-typeですね。デフォはtext/plain。
--data POST some variables フォーム送信的な事やるときはこれかな?⇒の感じで使えってさ。「--data '{"username": "test", "password": "test"}' -T 'application/x-www-form-urlencoded' -m POST」。これやるときは「-m POST」 と -Tは必須っぽ。
--rps requestsPerSecond これ使いそー。1秒間あたりに何個リクエスト出すかを指定する。「--rps 0.5」は2秒毎に1リクエストらし。-cと合わせる場合、並列の個数毎に効くんじゃなくて、全体としての扱いになる模様。-c 10とかやって場合に一つ一つ毎にrpsが効くわけではないと。で、あまりに並列度低いとrps満たせなくなるからそれなりに考えてねってことらしい。

他にもいろいろあるので詳しくは公式参照

例えば、10個のクライアントで1秒間にトータル100リクエスト(1クライアント10リクエスト/秒想定)出す状態で10秒間動かす場合は↓の感じ。

loadtest -t 10 -c 10 --rps 100 http://localhost/hoge

で、動かすと色々出てくるんだけど見るのは↓あたりかな。

#1秒間に送信できたリクエスト数
Requests per second: 10
#平均待ち時間
Mean latency:        6.4 ms
#待ち時間の分布割合。↓だと50%は5msで帰ってきてるってことかしら?
Percentage of the requests served within a certain time
  50%      5 ms
  90%      10 ms
  95%      12 ms
  99%      23 ms
 100%      23 ms (longest request)

あと↓の感じで(公式サンプル)、javascriptとして普通に組み込めるからテスト用にモジュール化しておけば、自動実行とか組み込めそうですね。。。

const loadtest = require('loadtest');
const options = {
    url: 'http://localhost:8000',
    maxRequests: 1000,
};
loadtest.loadTest(options, function(error, result)
{
    if (error)
    {
        return console.error('Got an error: %s', error);
    }
    console.log('Tests run successfully');
});