当前位置:刘伯温心水图库本港台 > 软件性能 >

软件测试中如何有效进行性能测试

  “为什么我上线系统的性能和性能测试的结果相差很大呢?”这是一些用户会经常碰到的问题。当然产生这个问题的原因很多,下面我用一个很典型的例子来说明一下。一个用户登录界面,要求用户输入用户名、密码点击登录,登录系统。程序的处理流程如下:根据输入的用户名、密码生成SQL语句,select roleID from usertable where username=用户名 and password=密码,把这条语句发给ORACLE数据库,从数据库中查询数据,如果查询的roleID不为空则是合法用户允许登录,否则不允许登录系统。 这是一个非常简单的系统。性能测试人员用LOADRUNNER录制脚本,然后用逐步加压的方式来运行脚本,TPS、ORACLE的命中率、资源占用都很理想。性能测试人员就陷入了一种盲目的乐观情绪中,就认为系统性能没有问题,结果在实际运行中系统性能与性能测试中的性能相差很大,为什么会出现这种情况呢,下面我们来分析一下:首先我们来了解一下ORACLE的运行机制:从客户端发送一条SQL语句到ORACLE服务端,ORACLE要对SQL语句进行解析、执行、返回结果。 并且ORACLE有一个LRU(最近最常使用的语句)机制,把最近最常使用的SQL语句保存到共享内存SGA中的libary cache中,下一次再有这样的请求它就不解析了,直接从共享内存中使用。假如我们使用的SQL语句是select roleID from usertable where username=AAA and password=123,在我们加压的时候它就解析一次或很少的几次,其他的请求就会从共享内存中取得,并且返回的结果也会保存到BUFFER CACHE中,这样系统的测试结果当然就是很好的。但在实际工作中,用户名和密码是各种各样的,而ORACLE解析的条件又要求非常苛刻,SQL语句有一点不同它就认为是不同的SQL语句就要重新进行解析,而解析非常耗费系统资源,所以在实际运行中系统的性能和性能测试的结果相差很大。通过这个例子我们可以看出我们没有把真正的压力压到点上,也就是进行的不是有效性能测试。如何进行有效性能测试呢?一定要仔细地分析你要进行测试系统的架构、技术体系,LOADRUNNER只是一个加压工具,它对 ORACLE的监控也非常的不好,不要盲目的相信LOADRUNNER.一定要充分重视测试的调研和设计工作,如果能在测试前拿到系统开发的各种文档是最好的,如果没有也要充分调研业务人员、开发人员、系统运维人员,了解系统的技术架构、业务组成、业务流程、业务频度、数据量等要素,这样才能进行有效性能测试。

http://jeffcafone.com/ruanjianxingnen/889.html
点击次数:??更新时间2019-08-09??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】