性能测试的难点不在于测,在于测出的数据和实际的对照关系,以及测试出来的数据对性能的评估(到底是好,还是不好)。
1、PV到TPS的转换 日PV对于一个网站,很容易就统计出来,但是LoadRunner性能测试时,只有TPS可供参考。日PV和TPS之间如何对应?公式就是80%的日PV,发生在T小时内。则公式为: TPS = 日PV * 80% / 24 * 60 * 60 * (T/24) 定义 R = 1万 * 80% / 24 * 60 * 60 * (T/24) = 10000 * 24 * 0.8 / 24 * 3600 * T = 2.2222/T TPS = 日PV(万) * R 这里的TPS就是平均的TPS。 可以T的值代入,则求出R的值即可 T 6 8 10 12 R 0.3704 0.2778 0.2222 0.1852 10w 3.704 2.778 2.222 1.852 100w 37.04 27.78 22.22 18.52 1000w 370.4 277.8 222.2 185.2 1亿 3704 2778 2222 1852 关于TPS 我再多说两句,单就静态页面,TPS大概能到1W+,简单数据库操作大概2K+的样子,用Cache大概能到5K+。
峰值的TPS,可以从图中看出来。
2、TPS的波动标准 TPS应该是一个比较平稳的曲线,而不是上下波动 TPS波动范围 = TPS标准差/TPS平均值 * 100% 在5%内算是正常的
3、测试压力变化 pdf中的图1-8
性能测试
负载测试
4、网站测试标准
========================================================================== 性能相关的系列文章: LoadRunner利用ODBC编写MySql脚本
Q&A
因为CSDN评论不知道为什么没法用了,所以贴在这里吧
Q:yxt168118 能否请作者将TPS的T,在测试脚本中,怎么定义说明一下?我是将某个关键操作定义为一个事务(T),这样测试出来的TPS很难达到10。
A:回复 yxt168118:定义T transaction 事务,是根据测试目的来决定的,如果是性能测试,T定义为一次请求,如果是可用性测试,T定义为整个页面的加载,主要看响应时间用户是否能接受。TPS高低和操作的复杂程度、以及后台扩展、以及T的定义是相关的。一般,单次的请求,单台机器,百数量级上是正常的。另外,在一次请求中,不要每次都去初始化一些比如用户等数据,如果有很多的数据库操作,TPS也会低一些,如果达不到10,还需要优化,比如看看数据库方面是否有优化的空间,比如索引。 |
|
来自: moonboat > 《performance》