我对性能测试的理解
1.测试环境的配置充分认识性能瓶颈点的基础上,我需要知道此次测试对象,需要什么样的环境配置和产品需求,才有可能配置一种相对公平、合理的测试环境(这在性能对比测压中尤其重要)。
2.压力数据检查测试数据的有效性、合理性,避免损坏数据对测试结果的影响
3.如何执行测试通过对比在不同的测试条件下,制造多个强度情况,不同结果对解决实际问题的能力和效率,能判断出系统、程序,甚至于整个构架的情况。要特别注意外部环境对测试结果的影响
在web环境下,对于环境有几点
1.网络传输环境
2.系统配置
3.硬件资源的不同
4.数据真实性
5.分析结果我从所有的测试数据中,筛选出具有代表意义的数据,做出统计图,然后和开发人员一起,认真分析数据,找出性能存在的问题,得出测试结论的。服务器硬件瓶颈->网络瓶颈(对局域网,可以不考虑)->服务器操作系统瓶颈(参数配置)->中间件瓶颈(参数配置,数据库,web服务器等)->应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 采用方式: 分段排除法 很有效分析的信息来源:
1 根据场景运行过程中的错误提示信息通过web服务器反馈信息和程序返回页面的信息判断
2 根据测试结果收集到的监控指标数据 最大并发用户数:跟产品、开发沟通,并分析后最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。
3 业务操作响应时间:分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。
注:linux下有一些工具可以查看top ps iostat vmstat等。
windows下要使用 perfmon命令进行查看系统各个环节的性能。