search
LoginSignup
15

More than 3 years have passed since last update.

posted at

[Apache][Test] Apache Benchを使った負荷テスト

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

OPTIONman 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」がより大きい数値になるようにチューニングする。

:weary: 自動的にチューニングしてくれる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/

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
15