测试名单上包括:
一,webservers:
- Apache/1.3.41
- Apache/2.0.63
- nginx-0.6.32
- cherokee-0.9.4
- lighttpd-1.4.19
二,PHP 加速器
- APC-3.0.19
- eaccelerator-0.9.5.3
- xcache-1.2.0
三,server 配置,比如说 PHP 静态,动态编译,Apache 静态,动态编译,mod_fcgid, mod_fastcgi
四,测试用例
- 小 html:echo.html
- 大 html:phpinfo.html
- 小 php:echo.php time.php
- 大 php:smarty.php
- 重 php:phpinfo.php
五,测试点
- webserver 每秒处理的请求数,Request Per Second,rps,前提是对于每个请求, webserver的响应时间不能够超过容忍时间(5-8s)
- 同时并发连接数,指的是不出错的情况下能同时处理的连接数
- 数据吞吐量,单位时间内能够传输的字节数
- 各种webserver与PHP加速器搭配的稳定性
六,测试方法
- autobench-2.1.2,httperf-0.8.1
- ApacheBench, Version 2.0.41-dev
- 对每个测试用例,尝试并发 10,50,100,500,1000,5000
每次 100,000 个请求
每个并发重复测试 4 次,取rps平均数
七,测试环境:Linux Tencent 2.6.16.54-0.2.3-TENCENT-STATE-OC #1 SMP Wed Jan 16 10:38:28 CST 2008 i686 i686 i386 GNU/Linux
cpu: Intel(R) Xeon(TM) CPU 3.00GHz * 4
mem: 2 GB
八,测试结果:保密。。。
九,测试总结:
- 1. 测试的 php 脚本可能无法真实的代表项目实际使用的php功能 2. 各个webserver的调优配置可能会对测试结果有较大的影响
3. 服务器本身的一些设置可能对测试结果也有影响,如 ulimit, sysctl 配置等
4. 测试用的client端机器在一些测试中可能已经成为了瓶颈
5. nginx 启动前需要单独起fastcgi,比较麻烦,lighttpd,apache都不用
6. 据说 lighttpd 1.4 报告过内存泄漏,在特定的配置情况下
7. 就文档,社区,更新速度等人文因素来说,nginx要比lighttpd做的好一些。公司运维有在使用nginx做7层代理
8. xcache和ea在 php-cgi -m 命令下报 “段错误”(php -m 没有),apc 没有
9. apache 的 mod_fcgid 测试中 error 较多,可能调整配置参数可以解决
10. 。。。
{ 1 } Comments
测试结果。。。保密。。。
Post a Comment