自动化功能测试,性能测试,测试管理,测试过程改进,测试培训,致力于公司测试工具引用推广。联系MSN: lcyu888@hotmail.com,QQ:914353633

江苏XXX项目性能测试总结汇总

上一篇 / 下一篇  2011-08-14 16:56:27 / 个人分类:LoadRunner性能测试

以前做的性能测试项目以及自动化测试没时间整理,这次想了想,在这上面整理出来,以便总结,同时以便后面工作的需要,有时间的话,自动化测试的整理一下,让同行的看了给提提建议也不错的!

一、编写性能测试方案

该项目是全国范围内的一个大型项目,写方案说容易也容易,说难也难,用心写的和不用心写的不一样,高水平写的和菜鸟写的也不一样!哈哈,对项目业务,环境,用户等综合分析了解,写了初稿,改了多次,提交用户了,不过对自个要求高了,发现有些还不完善。方案保密不贴了!

二、遇到问题

1、描述:准备脚本时,在正式测试环境录的脚本中缺少一些重要请求,在开发人员机器上录时,录的脚本都正常

处理:在开发人员机器上准备好脚本,然后在正式测试环境上运行,都能看到数据中提交的数据正常

原因:对于脚本中缺少重要请求,感到很怪,没找到原因,可能是防火墙屏蔽了一些内容

录的脚本中少一些请求,是不是用的https,加密了的原因 ?录制不了不是因为https,改服务器一个设置,windows2003的,右击我的电脑-属性,选择高级页签,性能下点击设置,弹出的对话框,选择数据执行保护页签,选择“仅为基本windows程序和服务启动DEP”,应该就可以了;

2、描述:应用服务器是台pc机,用loadrunner监控其内存资源时,看到的是可用内存多少M,用户要求内存平均使用率不超过80%,这个如何计算?

处理:物理内存是16G,用loadrunner监控,平均可用内存为9G,内存平均使用率=(总内存-可用内存)/总内存

3、描述:用户指标要求:平均网络带宽占用不超过0.5M

一般不就是为了考察服务器的带宽有没有被占满

处理:最简单的打开任务管理器看看带宽或直接用工具监控

处理:throughput+总请求量=网络上传输的总的量,一般来说请求量要远小于throughput

loadrunner中吞吐量显示最大为2600000Bytes/s,2600000Bytest/s=2600KBytes/s
网络带宽为100Mbps,100Mbps/8=12.5MBytes/s=12500KBytes/s
这能说明网络带宽不是问题吧?

请问这样分析和计算对否?
可以,带宽瓶颈就是计算你的网络流量是不是达到了网卡的最大流量,其实最简单的方法是看网络带宽使用率,比你用这个算快多了

4、描述:系统运行故障率不高于2次/年,该项指标采用什么测试方法?

处理:

5、有个查询脚本,并发执行时,运行一段时间总是报500错,再次利用loadrunner中的快照,两分钟就分析定位到问题,解决了,再次感受到Loadrunner的强大!(以前以用过)

6、平均响应时间整体曲线应相对较平稳,现有两个地方出现峰值,如何解释?

三、调优

 数据库:sybase

中间件:tongweb

 

调优前:

测试发现数据库存在锁,并发用户上不去,报500错,响应时间长(有的长达2百秒左右,有的几十秒左右)几方面的问题,达不到性能指标要求

 

调优:

经开发人员大量修改,目前只存在响应时间稍长(大部份事务平均响应时间在15秒左右)问题,修改问题记录如下:

 

问题

原因分析

解决方法

com.sybase.jdbc2.jdbc.SybSQLException: The column prefix 'sf' does not match with a table name or alias name used in the query. Either the table is not specified in the FROM clause or it has a correlation name which must be used instead.

编码错误,没有定义别名sf,但却在sql语句中使用了

删除

com.sybase.jdbc2.jdbc.SybSQLException: Attempt to insert duplicate key row in object 'hgz_gzd' with unique index 'PK_HGZ_GZD'

 

主键冲突,主键生产的方法有问题,没有现场同步,导致两个线程产生了两个相同的主键值

添加线程同步

com.sybase.jdbc2.jdbc.SybSQLException: Attempt to insert duplicate key row in object 'pxkb_pxkmap' with unique index 'ak_btyw_pxkb_pxkmap'

测试数据使用了违反规则的数据

 

com.sybase.jdbc2.jdbc.SybSQLException: Your server command (family id #0, process id #873) encountered a deadlock situation. Please re-run your command.

 

数据库锁机制设置不合适

改成行级锁后此问题不再出现

com.cvicse.hs.cyxt.commons.Exception.CyzcException: com.cvicse.exception.DataAccessException: com.sybase.jdbc2.jdbc.SybSQLException: Attempt to insert duplicate key row in object 'srks_gzdsp' with unique index 'PK_SRKS_GZDSP'

 

        at com.cvicse.hs.cyxt.srks.bo.SrksslGzdBO.saveGzdsp(SrksslGzdBO.java:342)

        at com.cvicse.hs.cyxt.srks.action.SrksslGzdAction.saveGzd(SrksslGzdAction.java:130)

此问题未分析出真正的原因,把保存工作单审批的代码往后移了点后不再出现,其他业务未出现此问题

 

2011-8-13 9:55:32 org.apache.catalina.core.ApplicationDispatcher invoke

严重: Servlet.service() for servlet jsp threw exception

javax.servlet.jsp.JspException: bean identified by name 'cypxbxxPO' not exist

        at com.cvicse.commons.tag.util.TagUtil.lookup(Unknown Source)

        at com.cvicse.commons.param.tag.ParameterDisplayTag.doEndTag(Unknown Source)

        at org.apache.jsp.cyxt.pxkb.pxkbkcapEdit_jsp._jspx_meth_param_005fdisplay_005f0(pxkbkcapEdit_jsp.java:1088)

        at org.apache.jsp.cyxt.pxkb.pxkbkcapEdit_jsp._jspService(pxkbkcapEdit_jsp.java:294)

        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

具体原因未知,检查代码时未发现有问题,在其他压力测试问题解决后不在出现

 

运行一会儿表就被锁住,不能进行正常的业务

刚开始性能测试时,表经常被锁,调试后发现在多线程访问工作单号生成的方法时,第一个线程开启事务后访问结束还没有提交,第二个线程又开启事务访问到这儿查询受阻,按说第二个线程等第一个提交后再查询出结果就行,难道第一个线程的提交也被第二个线程的查询阻塞了,导致死锁?

统一修改各个业务的主键生成规则,所有业务调用同一个方法,主键生成规则中使用自己独立的事务,生成后立即提交,不用等待与业务其他内容一起提交

资源未关闭

访问数据库后没有关闭连接,读取或写入文件后未关闭

调用相关的close方法,关闭连接

java.lang.IllegalStateException: getCompressingOutputStream() has already been called

servlet规范有关,但在出此异常的代码中没有实际调用response的地方,比较费解

暂未解决,待多调试再出现后分析

java.lang.IllegalStateException: getOutputStream() has already been called

 

servlet规范有关,但在出此异常的代码中没有实际调用response的地方,比较费解

暂未解决,待多调试再出现后分析

调优后:

并发用户量达到要求

无出错信息,即业务成功率100%

响应时间达要求

资源利用率因服务器配置较高,什么没处理,一直达要求

 

四、执行

 

 

五、分析

 


TAG:

 

评分:0

我来说两句

Open Toolbar