Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
14
Help us understand the problem. What is going on with this article?
@wifecooky

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

More than 1 year has passed since last update.

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/

14
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
wifecooky
Twitter: @wifecooky

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
14
Help us understand the problem. What is going on with this article?