ApacheBench(ab)和eAccelerator使用配置

ApacheBench(ab)和eAccelerator使用配置
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

Attachment Size
eAccelerator 095 Final for PHP 5.1.6 120 KB
095_final_useful _files.zip 41.97 KB
eAccelerator 0.9.5 Final for PHP 5.1.5 120 KB
eAccelerator 095 Final for PHP 5.1.6 Optimized for Size 108 KB
eAccelerator 095 Final for PHP 5.2.0 120 KB
eAccelerator 095 Final for PHP 5.0.5 120 KB
eAccelerator 095 for PHP 5.0.4 (OLDER PHP VERSION) 120 KB
eAccelerator 0951 for PHP 5.2.2 120 KB
eAccelerator 0951 for PHP 5.2.1 120 KB
eAccelerator 0951 for PHP 5.2.2 Built with VC2005 SP1 128 KB
eAccelerator 0951 for PHP 5.1.4 120 KB
eAccelerator 0951 for PHP 5.2.3 120 KB
eAccelerator 0951 for PHP 5.2.0 (OLDER PHP VERSION) 120 KB
eAccelerator 0951 for PHP 5.2.4 120 KB
eLoader 0951 for PHP 5.2.4 28 KB
0952_final_useful _files.zip 42.27 KB
eLoader 0952 for PHP 5.2.3 28 KB
eAccelerator 0952 for PHP 5.2.3 120 KB
eLoader0952_5.2.4.dll 28 KB
eAccelerator 0952 for PHP 5.2.4 120 KB
eAccelerator 0952 for PHP 5.2.5 120 KB
eLoader 0952 for PHP 5.2.5 28 KB


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..

你可能感兴趣的:(ApacheBench(ab)和eAccelerator使用配置)