PHP site: PHP 的性能,和PHP 优化(Zend Optimizer),加速(Zend Engine v2.1.0)有很大影响. 对Moodle 进行压力测试, 没有加速下, 10 并发(No thinking time),CPU 占用就开始增加到 95%, 到100 并发, 响应时间接近10s. 加速后, 100 并发,响应时间在几百毫秒.CPU 状况良好. 性能的关键影响要素: 1. 干净的环境 性能测试对机器性能有一定要求, 且没有其他应用, 以免引起干扰. 对CPU, Memory的监控比较准确. 2. 启动方式 瞬间启动和逐步启动, 是有区别的, 为了数据更准确, 应该采用逐步加压的方式. 比如我们用JMeter 做性能测试, 100 个线程, ramp up period是在一秒内启动,还是100秒内启动? 大多数情况下, 我们是100秒来启动, 数据更接近真实. 3. 思考时间 人工操作, 大概的延时在2秒左右. 做性能测试时, 思考时间的不同设置,对结果有很大影响. 为了测试数据更接近真实情况,我们通常会设置思考时间, 该时间的设置和应用有关, 如果网站本身业务简单, 响应非常快, 人的习惯是点击速度也会加快, 而本来响应较慢的情况下,做下个动作的间隔,也会相应增加, 可以设置的长一点. 我们通常会设置1~2 秒. 4. 测试脚本 一个网站有很多页面, 采取哪些页面来做压力测试呢? 抽取benchmark, 也就是抽取用户操作的主要动作, 形成脚本. 可以选择几大业务主线, 进行录制. 然后再做整理, 删除一些零散页面. 5. 测试时间 压力测试进入稳定期, 通常需要一定的时间, 因此不应少于半小时. 持续两小时为佳. 6. 测试记录 测试开始就要做好记录准备, 需要观察哪些信息? 比如CPU 到80%以上, 响应时间超出2s,错误率超出5%, 就已经基本到达极限, 再测下去的意义不大. 比较简单的案例, 后面用Loadrunner 再做个测试分析.