ApacheBench(ab)
服務器負載太大而影響程序效率也是很常見的,Apache服務器自帶有一個叫AB(ApacheBench)的工具,在bin目錄下。使用這個輕巧的工具我們可以對服務器進行負載測試,
基本用法:
ab -n 全部請求數 -c 并發數 測試url
例:ab -n 1000 -c 50
http://www.abc.com/a.php
得到結果類似于(后面顏色字為中文翻譯):
Server Software: Apache/2.0.55
Server Hostname: localhost
Server Port: 80
Document Path: /1.php
Document Length: 82522 bytes #請求文檔大小
Concurrency Level: 50 #并發數
Time taken for tests: 92.76140 seconds #全部請求完成耗時
Complete requests: 10000 #全部請求數
Failed requests: 1974 #失敗的請求
(Connect: 0, Length: 1974, Exceptions: 0)
Write errors: 0
Total transferred: 827019400 bytes #總傳輸大小
HTML transferred: 825219400 bytes
Requests per second: 108.61 [#/sec] (mean) #每秒請求數(平均)
Time per request: 460.381 [ms] (mean) #每次并發請求時間(所有并發)
Time per request: 9.208 [ms] (mean, across all concurrent requests) #每一請求時間(并發平均)
Transfer rate: 8771.39 [Kbytes/sec] received #傳輸速率
Connection Times (ms) #連接時間
min mean[+/-sd] median max
Connect(#連接): 0 0 2.1 0 46
Processing(#處理): 31 458 94.7 438 1078
Waiting(#等待): 15 437 87.5 422 938
Total: 31 458 94.7 438 1078
其它參數:
-n requests 全部請求數
-c concurrency 并發數
-t timelimit 最傳等待回應時間
-p postfile POST數據文件
-T content-type POST Content-type
-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 加入cookie, eg. 'Apache=1234. (repeatable)
-H attribute 加入http頭, eg. 'Accept-Encoding: gzip'
Inserted after all normal header lines. (repeatable)
-A attribute http驗證,分隔傳遞用戶名及密碼
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
-X proxy:port 代理服務器
-V 查看ab版本
-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
-h Display usage information (this message)
About eAccelerator
eAccelerator是一個的免費、開源的PHP模塊,它能夠為提供PHP加速、優化、加碼、和動態內容緩存功能。它通過存儲PH腳本編譯后的狀態而加快執行PHP腳本的速度,而不需要頻繁的編譯這個PHP腳本。而且它能優化PHP腳本,以提高執行PHP的速度。eAccelerator特色是減少了
服務器負載、使PHP腳本加速1-10倍。
對應你的php版本下載相應的dll文件.如果是PHP 5.2.5請下載
eAccelerator 0952 for PHP 5.2.5 eLoader 0952 for PHP 5.2.5
We have been using this PHP accelerator (0.9.5), on multiple servers, for a long time. It's used on some high traffic sites without any problem.
Install:
a) Download a copy of
eAccelerator that is compatible with your version of PHP.
This can be an issue with
eAccelerator. Sometimes it can take a little time before the Windows binaries are available for the most recent version of
PHP.
b) Copy a compatible eaccelerator.dll to your PHP extensions folder (like:D:\php\ext replace with your actual folder location).
Make sure the configuration directive
extension_dir in your php.ini is properly pointing to your extensions folder.
Like: extension_dir = "D:/php/ext"
//將dll文件復制到D:/php/ext下.
c) Create a folder (with the appropriate permissions) for the temporary cached files.
For example: D:\temp\eaccelerator
//創建tmp目錄 權限可寫
d) Add the following to your php.ini (as the first loaded extension):
.
;extension=php_yaz.dll
;extension=php_zip.dll
//編輯php.ini 在extension=php_zip.dll之后添以紅字部分
[eaccelerator]
zend_extension_ts="D:\php\ext\eAccelerator0952_5.2.3.dll"
zend_extension="D:\php\ext\eAccelerator0952_5.2.3.dll"
eaccelerator.cache_dir = "D:\temp\eaccelerator"
eaccelerator.shm_size="64"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.debug ="0"
eaccelerator.check_mtime="1"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl ="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys= "shm"
eaccelerator.sessions="shm"
eaccelerator.c
zend_extension="D:\php\ext\eLoader0952_5.2.3.dll"
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
.
.
e) Restart your Web Server.You can see..
posted on 2007-11-28 17:33
周銳 閱讀(976)
評論(0) 編輯 收藏 所屬分類:
PHP