摘自08年Aberdeen Group研究表明,Web网站1s的页面加载延迟相当于少了11%PV,相当于降低了16%的顾客满意度。如果从金钱的角度计算,意味着:如果一个网站每天挣10万元,一年下来,由于网页加载速度比竞争对手慢1s,可能导致总共损失25万元销售额
摘自Compuware公司分析,超过150万个浏览页面,发现页面响应时间从2s增长到10s,会导致38%的页面浏览放弃率
对于所有系统、软件来说,都应该做性能测试,关键是要思考应该做到什么程度,而不是做不做的问题。如果一个查询需要50多秒种,这绝对是任何人都难以接受的
系统大致分为:单机系统、C/S、B/S。这3类系统都应该进行性能测试,是会是在每个分类有各自特点,在实际测试中应该会有不同的策略进行应对。
一般C/S架构的应用程序更关注于系统资源使用情况、数据库性能以及运行的配置要求等,例如:内存、用户连接数、数据库死锁、数据库cache命中率、运行的最低配置等
对于B/S架构的应用程序,会关注Web服务器的相关指标,如每秒点击数、吞吐量、尝试连接数、事务成功率等
它的目的性
1、评估当前系统
2、寻找瓶颈,进行优化性能
3、预测未来的性能
术语与指标
1、并发数
2、响应时间
3、每秒通过事务数
4、每秒点击数
5、吞吐量
6、思考时间
7、资源利用率
它的分类
1、基准测试
2、并发测试
3、负载测试
4、压力测试
5、稳定性测试
6、失效恢复测试
7、现网性能测试
——以上概念可参考“软件性能测试概览”
LoadRunner工具介绍
LoadRunner的性能测试过程一般为计划测试、创建脚本、设计场景、运行场景、分析结果
LoadRunner由三大基本组件构成,分别是VuGen、Controller、Analysis
VuGen:是录制与编写脚本的地方,就是通过录制或编写脚本来模拟用户的行为,可以理解为用户行为模拟器,同时会打印出日志信息,方便调试脚本。VuGen也是一个集成开发调试环境,在这里完成脚本开发并调试通过后就可以放到Controller中来创建场景
Controller:是性能测试场景设计以及监控的地方,让脚本按照预定的规则运行并产生压力,同时监控重要指标等都在此处完成
Analysis:是收集测试数据后生成图表报告的地方,能帮助我们分析数据并产生图表,方便进行后续的分析
LoadRunner与协议的联系,它录制时不关心对象是什么,LoadRunner有一个Agent进程专门来监控客户端和服务器之间的通信。所以,LoadRunner录制时关心的是通信,是客户端与服务器之间的数据包,也就是协议
协议有很多,该如何选择,主要的如下:
Web类型网站:协议选择HTTP/HTML
FTP服务器:协议选用FTP
邮件服务器:协议选用IMAP(同步邮件电子邮件)、POP3(接收电子邮件)、SMTP(发送电子邮件)
以 ADO、OLEDB方式连接后台数据库的C/S客户端:协议选用MS SQL Server、Oracle、Sybase、DB2
以 ODBC方式连接后台数据库的C/S客户端:协议选用ODBC
没有后台数据库的C/S客户端:协议选用Socket
主流已经足够用了