事务
就是用户某一步或几步操作的集合。不过,我们要保证它有一个完整意义。比如用户对某一个页面的一次请求,用户对某系统的一次登录,淘宝用户对商品的一次确认支付过程。这些我们都可以看作一个事务。那么如何衡量服务器对事务的处理能力。又引出一个概念----TPS
TPS (Transaction Per second)
每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。
点击率(Hit Per Second)
点击率可以看做是TPS的一种特定情况。点击率更能体现用户端对服务器的压力。TPS更能体现服务器对客户请求的处理能力。
每秒钟用户向web服务器提交的HTTP请求数。这个指标是web 应用特有的一个指标;web应用是“请求-响应”模式,用户发一个申请,服务器就要处理一次,所以点击是web应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。容易看出,点击率越大。对服务器的压力也越大,点击率只是一个性能参考指标,重要的是分析点击时产生的影响。
需要注意的是,这里的点击不是指鼠标的一次“单击”操作,因为一次“单击”操作中,客户端可能向服务器发现多个HTTP请求。
吞吐量指标的作用:
再次将话题回归到吞吐量上,在我们的性能测试中查看吞吐量对我们的测试有什么意义呢。
1、用户协助设计性能测试场景,以及衡量性能测试场景是否达到了预期的设计目标:在设计性能测试场景时,吞吐量可被用户协助设计性能测试场景,根据估算的吞吐量数据,可以对应到测试场景的事务发生频率,事务发生次数等;另外,在测试完成后,根据实际的吞吐量可以衡量测试是否达到了预期的目标。
2、用于协助分析性能瓶颈:吞吐量的限制是性能瓶颈的一种重要表现形式,因此,有针对性地对吞吐量设计测试,可以协助尽快定位到性能冰晶所在位置。
扩展:
RBI(rapid bottleneck identify)
是Empirix公司提出的快速识别系统性能瓶颈的方法。该方法基于以下事实。
1、发现的80%系统的性能瓶颈都由吞吐量制约;
2、并发用户数和吞吐量瓶颈之间存在一定的关联;
3、采用吞吐量测试可以更快速定位问题。
通过不断增加并发用户数和吞吐量观察系统的性能瓶颈。然后,从网络、数据库、应用服务器和代码本身4个环节确定系统的的性能瓶颈。
其实,我讲了这么多概念,我们无非是站在不同的角度去分解系统的性能,站在用户的角度,服务器的角度、系统的各种角度。了解一个人需要多方面,了解一个系统也需要多方面。我在尽量把这些东西讲的不枯燥,而且易懂。其实,自己写的过程也是思考的过程。
相关链接: