Webサーバーの負荷テストならまず **ab((Apache Bench)の略)**だという。
1. インストール
Macの場合
MACの方は標準でインストールされている。
OS X Lionではバグがあり動作しないようで、
こちらの記事を確認。
Windowsの場合
Step1. xamppをインストール。
Step2. xampp
のインストールフォルダに入る: cd C:\xampp\apache\bin\
。
Step3. ab
コマンドを実行。
2. abコマンドの構文
$ ab [-OPTION] URL
OPTION は man ab
コマンドで確認できる。
3. 負荷テストのやりかた
一番簡単な実行方法
ab -n [総リクエスト数] -c [同時リクエスト数] [URL]
同時10接続で、100リクエスト発行するならこうなる。
ab -n 100 -c 10 http://example/test.php
実行結果の見方
実行結果のレポート情報の中で、まずは下記の2つを確認しておくと良い。
- Failed Requests:失敗したリクエスト数。これが発生している場合は、サーバが処理できる能力を超えている。
- Requests per second:1秒あたりに処理したリクエスト数。
サーバーの限界を測定するには、
「Failed Requests」が0、「Request per second」がより大きい数値になるようにチューニングする。
自動的にチューニングしてくれるOPTIONがあればなあ。
- CSVファイルとして出力
eオプション(exportの略称だよね)をつけると、
CSVファイルとして出力可能。
ab -n 100 -c -e result.csv 10 http://example/test.php
4. できるとできないこと
- 1回の実行で単一のURLに対してリクエスト
- シナリオベース(複数の一連の)のテストはできない
複数のURLに対して負荷を生成したい場合は、下記のようなツールがある。
- Apache JMeter
- httperf
- weighttp
参考
https://blog.verygoodtown.com/2012/05/apache-bench-ab/
https://qiita.com/mmmm/items/f31b15b4f80427360207
https://dev.classmethod.jp/tool/ab-tutorial/