19
大型网站性能测试的制定与实施

复件 大型网站性能测试方案的制定与实践

Embed Size (px)

Citation preview

Page 1: 复件 大型网站性能测试方案的制定与实践

大型网站性能测试的制定与实施

Page 2: 复件 大型网站性能测试方案的制定与实践

什么是性能测试?

性能测试:

是指在某个特定的硬件、软件、网

络环境下通过自动化的测试工具模

拟多种正常、峰值以及异常负载条

件来对系统的各项性能指标进行测

试。

Page 3: 复件 大型网站性能测试方案的制定与实践

性能测试的目的

验证改进的性能效果,需要和以前的测试

结果进行比对。

新的业务上线,验证新系统能够满足系统

的上线指标。

验证系统稳定性

验证系统的架构是否存在瓶颈

Page 4: 复件 大型网站性能测试方案的制定与实践

性能测试环境搭建

性能测试环境:

硬件环境

软件环境

网络环境

最优的性能测试环境:

就是即将正式上线使用的生产环境

Page 5: 复件 大型网站性能测试方案的制定与实践

性能测试环境搭建

硬件环境搭建要参考实际的生产环境搭建,

并且要考虑自身的硬件成本

软件环境尽量要和生产环境使用的版本和

配置保持一致,并且尽可能采用最优配置

网络环境尽可能参考生产环境的网络结构

和搭建,尽可能不要跨多个网段

Page 6: 复件 大型网站性能测试方案的制定与实践

数据库中基础数据的准备

基础数据的内容和数据量:

需要参考具体系统的业务内容和使用规模

类似系统的数据量规模

尽可能多增加一定比例的冗余数据

基础数据准备方法:

数据库存储过程

Lr、selenium等自动化测试工具

Page 7: 复件 大型网站性能测试方案的制定与实践

性能测试工具的选择

强大的Loadrunner

自写的多线程压力测试程序

其他的第三方测试工具:webload、jemeter等

选择的标准:

能完成特定要求的性能测试要求即可,优先

考虑使用强大图表和控制功能的loadrunner

Page 8: 复件 大型网站性能测试方案的制定与实践

性能测试范围的定义

和整个儿开发团队一起确认性能测试的范

系统中被频繁使用的功能、调用的接口等

系统中涉及到大量数据库读、写的功能

大量读写系统缓存部分的功能

Page 9: 复件 大型网站性能测试方案的制定与实践

性能测试的完成目标(1)

新上线的测试系统没有明确的数字标准比对情况下,被测试系统已经被测试到了系统极限(系统的某些资源已经耗尽,cpu,句柄、内存,数据库出现大量的slow query,系统有些处理已经变慢),并且系统证明是可以水平扩展的,则可以上线。

Page 10: 复件 大型网站性能测试方案的制定与实践

性能测试的完成目标(2)

有以往测试结果进行比对,只要证明类似的测试条件下,此次的结果比以往的测试结果更好即可(每秒处理个数更多、单次请求的处理速度更快)

Page 11: 复件 大型网站性能测试方案的制定与实践

性能测试的完成目标(3)

没有可以比较的测试结果,但是产品已经上线一段时间(至少3个月),有一些运营数据,则需要分析运营的数据来作为比对的基准,只要被测系统达到3个月内系统并发峰值的4倍就可以认为是可以接受的。(如果是接口为测试对象,则需要混合主要的接口来进行性能测试)

Page 12: 复件 大型网站性能测试方案的制定与实践

性能测试的完成目标(4)

开发人员提供经验值作为比对的基准,则被测对象只要证明满足开发人员提出的经验值即可。

如果选择以上的某一种策略,则必须明确系统的每秒处理个数和每次请求的平均时间的具体数值,并出具最终的性能测试报告。

Page 13: 复件 大型网站性能测试方案的制定与实践

性能测试的脚本调试

录制或者编写性能测试脚本

修改测试脚本、使用随机化策略

调试和运行脚本,查看log和数据库内容等

方式验证脚本正确性

Page 14: 复件 大型网站性能测试方案的制定与实践

性能测试脚本的执行

设计好特定的性能测试场景

初始的压力线程数

逐步加压的策略

测试执行结束条件

结束时的停止多线程的方式

注意:加压的压力测试机器和被测试对象最好在一个局域网段。

Page 15: 复件 大型网站性能测试方案的制定与实践

性能测试的数据收集(1)

测试用例编号

测试时间

并发数

成功请求数

失败请求数

平均每秒处理个数

平均每个请求处理时间

方差 备注

Page 16: 复件 大型网站性能测试方案的制定与实践

性能测试的数据收集(2)

响应时间小于1秒的请求个数

响应时间超过1秒小于2秒的请求个数

响应时间超过2秒小于3秒的请求个数

响应时间超过3秒小于4秒的请求个数

响应时间超过4秒小于5秒的请求个数

响应时间超过5秒的请求个数

Page 17: 复件 大型网站性能测试方案的制定与实践

性能测试数据分析

分析系统性能瓶颈

验证是否数据满足性能测试完成条件

整理测试报告,汇总性能测试数据,整理

性能 测试结果,给出测试结论

和整个儿开发团队确认测试结果

Page 18: 复件 大型网站性能测试方案的制定与实践

经验和教训的总结

总结本次出现的性能问题的原因和问题解

决方法,作为团队的知识积累

总结测试过程中出现的流程、沟通、技术

等问题,并进行相关流程的优化。

Page 19: 复件 大型网站性能测试方案的制定与实践

谢谢大家