2013年5月23日

Apache 調校參考

see http://fecbob.pixnet.net/blog/post/38248419

待查 Apache的 MaxClients,ThreadsPerChild,MaxThreadsPerChild等參數,基於你的HTTPd.conf中的MPM模組選擇 (ubuntu 10.04 的位置是在 /etc/apache2/apache2.conf)。

=========
Apache伺服器自帶有一個叫AB(ApacheBench)的工具,在bin目錄下。ApacheBench 可以針對某個特定的 URL 模擬出連續的連線請求,同時還可以模擬出同時間點數個相同的連線請求,因此利用 ApacheBench 可説明我們在網站開發期間模擬實際上線可能的情況。

  在命令列下輸出:
  ./ab -n number_of_total_requests -c number_of_simultaneous_requests http:www.../php_app.php

  例如:
  ./ab -n 1000 -c 50 www.com/app.php

  AB將同時向 www.com/app.php發出50個併發請求,共發出1000次。測試結果將可能是這樣的:

  Server Software: Apache/2.0.16
  Server Hostname: localhost
  Server Port: 80
  Document Path: /myapp.php
  Document Length: 1311 bytes
  Concurrency Level: 50
  Time taken for tests: 8.794 seconds
  Complete requests: 1000
  Failed requests: 0
  Total transferred: 1754000 bytes
  HTML transferred: 1311000 bytes
  Requests per second: 113.71
  Transfer rate: 199.45 kb/s received
  Connection Times (ms)
  min avg max
  Connect: 0 0 5
  Processing: 111 427 550
  Total: 111 427 555

app.php每秒鐘可以處理的請求數為113.71個。將請求數增加,看看伺服器能否處理更大的壓力。你也需要調節Apache的 MaxClients,ThreadsPerChild,MaxThreadsPerChild等參數,基於你的HTTPd.conf中的MPM模組選擇 (ubuntu 10.04 的位置是在 /etc/apache2/apache2.conf)。

修改HTTPd.conf後,要重啟Apache伺服器,然後再用AB測試。

沒有留言: