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 
周锐 阅读(990) 
评论(0)  编辑  收藏  所属分类: 
PHP