看《做性能测试需要知道些什么》
需理解最佳用户数和最大用户数
开始性能测试前,需要知道:
1、客户的要求
如系统同时满足**用户登录,平均每个用户登录时间不超过**秒
2、目前系统的性能
求最大用户数和最佳用户数,系统分析并找到压力点
3、系统瓶颈
分析可能对系统造成瓶颈的逻辑业务
4、长时间压力下性能状况(强度测试)-》内存溢出
测试环境
1、硬件
服务器、CPU、内存
2、软件
前端、中间件、服务器
3、网络环境
寻找系统的压力点
做性能测试之后需要知道些什么-》获取“有效的”性能需求
例子:证劵行业某业务的“实际需求”
系统总容量达日委托6000万笔,成交9000万笔
系统处理速度每秒7300笔,峰值每秒10000笔
实际股东帐号 3000万
-》需求:最佳并发用户数需求:每秒7300笔
最大并发用户数需求:每秒10000笔
基础数据容量:实际股东帐号数3000万
业务数据容量:日托6000万,成交9000万
如果我们根据以下2个假设:
1。采用2/8比例,即80%的业务在20%的峰值时间内完成,20%的业务在80%的非峰值时间内完成,那么我们可以得到峰值处理业务量1.5亿的80%为1.2亿,非峰值处理业务量1.5亿的20%为3000万;
2。1天系统运行时间为20小时,另4小时为非营业的后台处理时间,那么峰值时间20小时的20%为4小时,非峰值时间20小时的80%为16小时。
我们可以计算到:
1。平均峰值处理速度1.2亿/4*3600秒接近9000个/秒;
2。平均非峰值处理速度3000万/16*3600秒约500个/秒;
考虑到特殊情况的发生,我们建议实际峰值处理速度要能达到理论计算的平均峰值处理速度的1.5到2倍,所以最终确定下来的建议峰值处理速度为9000个/ 秒*2=18000个/秒。我们拿这个结果向客户说明,告诉他们原来的需求很可能在发生特殊情况时无法有效处理,客户最终接受了我们的说法并调整了他们的需求。
这叫需求开发,通过分析修正了客户的不合理需求,满足了他们最根本的需要“系统总容量达到日委托6000万笔,成交9000万笔”,而处理速度是他们根据自己的需要估算出来的,并不准确。
所谓需求开发,也就是根绝客户的核心需求,为客户设计完整的需求体系,甚至根据客户的业务发展需要,为客户设计核心需求和需求体系。
取自:http://www.cnblogs.com/jackei/archive/2006/12/12/589473.html
性能测试常见指标
工作负载=虚拟用户
响应时间(处理请求的速度)
吞吐量
TI-》客户端往服务器发出请求数据包的吞吐量
TO-》服务器返回请求数据包的吞吐量
网页点击数/请求
响应/成功的响应
每秒点击数:服务器的处理能力