Apache 壓力測試

在 Apache 本身的套件中, 有個叫 ab(ApacheBench) 的程式, 此程式是專門用在做壓力測試用的套件.

其它的測試軟體: Performance test tools

註: 請勿將此測試軟體用在其它網站上.

ApacheBench(ab) 用來測試 apache 執行效率.

ab 參數

ab 參數:

Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/path

Options are:

  • -n requests Number of requests to perform
  • -c concurrency Number of multiple requests to make
  • -t timelimit Seconds to max. wait for responses
  • -p postfile File containg data to POST
  • -T content-type Content-type header for POSTing
  • -v verbosity How much troubleshooting info to print
  • -w Print out results in HTML tables
  • -i Use HEAD instead of GET
  • -x attributes String to insert as table attributes
  • -y attributes String to insert as tr attributes
  • -z attributes String to insert as td or th attributes
  • -C attribute Add cookie, eg. 'Apache=1234' (repeatable)
  • -H attribute Add Arbitrary header line, eg. 'Accept-Encoding: zop'
  • Inserted after all normal header lines. (repeatable)
  • -A attribute Add Basic WWW Authentication, the attributes
  • are a colon separated username and password.
  • -P attribute Add Basic Proxy Authentication, the attributes
  • are a colon separated username and password.
  • -X proxy:port Proxyserver and port number to use
  • -V Print version number and exit
  • -k Use HTTP KeepAlive feature
  • -d Do not show percentiles served table.
  • -S Do not show confidence estimators and warnings.
  • -g filename Output collected data to gnuplot format file.
  • -e filename Output CSV file with percentages served
  • -s Use httpS instead of HTTP (SSL)
  • -h Display usage information (this message)

ab 使用

要執行 1000 次的 connection, 20 次的 concurrent (並行, 同時):

語法: ab -n 1000 -c 20 http://localhost/abc.php

產生出來的結果. 要注意的是以下幾個:

  • Time taken for tests: 總共執行花了多久的時間.(以上 1000 次共多久)
  • Requests per second: 每秒平均可以處理多少個 connection.

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix。將永久鏈結加入書籤。

Apache 壓力測試 有 4 則回應

  1. jiing 說道:

    感謝格主整理此文,不過對-p postFile的內容不太了解, 會去查一下資料,感謝指路

  2. Tsung 說道:

    應該是把 file 丟上去吧?, 看上傳的速度? 🙂

  3. derrick 說道:


  4. Tsung 說道:

    嗯, 我忘了加上這個注意事項.. Orz..