web应用性能测试规范
一、测试有效性指标
不符合则说明测试无效,测试结果不具备参考意义:
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
评论

React 18的并发渲染确实是个重大改进,我们在项目中已经升级使用,性能提升明显!