性能测试总结之性能分析篇

其实监控和分析是分不开的两部分,监控的同时需要对数据结果进行分析,而分析的同时也需要对数据进行监控才可以进行分析。

数据分析不仅需要对性能测试工具的了解,也需要对操作系统、中间件服务器、硬件、软件环境以及数据库等各方面都有所了解。通过工具反馈的数据,能判断出问题出在哪一部分,逐步定位,从外到内,从表及里,逐层分解、排除的方法。

分析要掌握分析的原则、分析的类型,分析的标准。

分析原则:从外到内,从表及里,逐层分解、排除

分析类型:Web、接口、时间程序

分析标准:通过性能指标的表现形式,分析性能是否稳定。比如响应时间是否按照性能的要求在合理的范围之内,有没有超过性能要求。响应时间是否稳定。

还有,TPS维持在多大的范围内,是否有波形出现,标准差有多少,是否符合标准。 服务器CPU、内存、load是否在合理的范围内,等等。

分析的内容包括性能指标的分析,例如吞吐量、TPS、Server Response Time等。服务器指标CPU、mem、load等。数据库信息,I/O,load,平均执行sql时间等。记录下来之后分析是否超过性能要求值。

分析内容包括web服务器、数据库服务器、操作系统、软硬件环境。

Web服务器包括最大连接数、最大内存等是否合理等。

配置参数是否合理等。

 

第二篇:性能测试总结

C/S性能测试研究总结

协议选择问题

1. 如为B/S应用系统,一般采用http协议;如部分操作录制不到数据,则应具体分析系统结构,是否使用了其它协议,根据系统所用协议,进行选择。

2. 对于C/S结构的系统:

1) 先确定系统结构,两层的client—database(server)还是三层的client—server—database结构?

2) 再根据使用的数据库类型进行相应选择。

先考虑第二条,不行的话考虑每一条,c/s的架构有时可能用了特殊的处理方式不是简单的两层结构 client server( database ),其中可能client (处理层) server( database ) 也可能是开发人员会把功能做成dll(其中有一个dll可能封装了其中的连接,添加等操作数据库的功能)loadrunner无法记录,以上都是分析过程 这时候我们会用常用的winsock协议来进行录制脚本。

本系统是两层C/S结构系统,故客户端直接连接数据库,数据库为ORACLE10G,录制时选择oralce(2-tier)协议。

工具限制

Loadrunner工作原理是根据所选通讯协议截取客户端与服务器之间所有的交互操作,获取数据包。所以只有交互操作的数据才能被截取到,而南海规划系统中的查询操作客户端提交至服务器完成响应后还要等待本地做一些处理,包括刷新当前地图和弹出结果窗口,刷新当前地图和弹出结果窗口均是在本地完成处理,与服务器无交互,并不会被Loadrunner记录。故发生在本地的处理时间无法监控与衡量。

测试过程中碰到的问题与解决方法

1、多线程录制

本系统为单线程,即客户端一次只能打开一个操作窗口,如测试并发时,无法做到打开多个窗口,解决办法:与项目组沟通,要求改写程序,将客户端改成多线程运行。

2、 出现“lrdo_server_attach: "OCIServerAttach"

return-code=OCI_ERROR, error-code=24309”错误,具体如下:

Action.c(11): Error: lrdo_server_attach: "OCIServerAttach" return-code=OCI_ERROR, error-code=24309:

Action.c(11): Error: ORA-24309: 已连接至服务器

Action.c(11): server_attach: ERROR, return-code=LRDE20xx. ServerHandle=OraSrv1, ServerID="customs" Abort was called from an action.

出现此问题由于数据库连接未被释放或未初始化。

解决方法1):将登录操作录在INIT里,并在END里录制登出操作。有时未录制登出操作也会出现此种问题,原因由于数据库连接或资源占用未释放。

解决方法2):如果非要录制到ACTION中, 在ACTION里多录制一个断开连接的操作就可以了。

脚本一定要在vugen中设置多次迭代运行通过后方加入到场景中。

3、本系统场景在运行过程中如忽略思考时间,立即报错,原因由于短时间内数据库连接过多,未释放连接的情况下又进行连接,故报错。如一定要忽略思考时间,只能在脚本中将其注释。

相关推荐