待查 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測試。
沒有留言:
張貼留言