一、测试有效性指标

不符合则说明测试无效,测试结果不具备参考意义:

a. 测试涉及到的所有服务器(包括但不仅限:web服务器、应用服务器、数据库服务器、memcached服务器等,下同)load 不能大于cpu核心数,例如一台4核的服务器,load必须<=4

b. 测试涉及到的所有服务器cpu使用率不能高于 75%

c. 稳定性测试持续时间不能低于12小时

d. 主要业务涉及的页面、曝光度高的页面必须进行过测试

二、测试结果指标

a. 以上线后只有一台服务器的情况来说,单机tps(每秒通过的事务数)不低于150。若上线后集群部署n台服务器,则单机tps不低于 150/n

b. 页面服务器端处理时间须低于250毫米

c. 从用户发出请求,到页面完整展示时间不高于2秒,包括但不仅限:服务器端处理时间、网络传输时间、静态资源加载时间、页面渲染时间、js执行时间

d. 稳定性测试无性能下降迹象,包括但不仅限:cpu使用率、load不随时间而升高,响应时间不随时间而升高、tps不随时间而降低

三、测试通过标准

淘宝性能测试通过标准由以下要素组成:

1、tps满足期望;

2、响应时间满足期望;

3、服务器资源使用满足期望;

4、无明显瓶颈点,例如 应用crash等现象;

5、错误概率小于万分之一(包括404、503及其他状态的错误)

注意:请大家务必遵照性能测试标准进行自测。如上线后,因性能问题导致访问应用时出现异常,将限制线上推广。详情请点击查看

四、典型性调优说明

性能问题:

1. 数据库无索引

2. 缓存无效:

2代码逻辑问题(值为空也认为memcache没命中,导致频繁查询mysql)

3. session引起:

a) 内存泄露(session没处理导致大量无用session)

b) TPS极不稳定,开启了session,导致大量session文件。

4. 加速器问题:

权限问题(配置了eaccelerator加速器,但目录权限不足)

5. squid问题:

单进程squid对动态网站性能无提升,反而到时TPS不稳定

常用优化:

优化:

1. elerator加速器优化: check_mtime由1改为0,减少系统IO调用

2. smart模板引擎优化:$smarty->compile_check = false 去掉文件编译检查

3. php的优化:

a)文件stat的缓存量,直接从缓存中读取[realpath] (优化效果不大)

realpath_cache_size=1024k realpath_cache_ttl=3600

b)josn和xml解析:

这两者解析极耗CPU资源,尽量缓存 (优化效果最明显)

c)合并请求数 (优化效果不大)

4. 优化nginx:

a) 改用epoll

b) Worker_process 由1改为4

c) Work_connections 由1024 改为 102400