人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间。
北京安全测试精英QQ群:164265622 北京白盒测试精英QQ群:164265999
北京性能测试精英QQ群:164266156 北京自动化测试精英群:212723528
北京软件测试精英QQ群:86920845
性能测试案例分析
上一篇 /
下一篇 2012-02-08 12:37:10
/ 个人分类:性能测试
1.简要场景描述:
被测项目的数据库服务采用ORACLE 10g,测试功能点选择的是一个新建录入保存业务。当并发20用户时,数据库资源占用正常,处理业务响应时间正常,当并发40用户时,数据库服务器CPU占用率突增到100%,系统几乎不响应。
2.对ORACLE 10g进行监控:
2.1首先打开监控开关:
exec dbms_monitor.serv_mod_act_trace_enable (service_name=>'<servname>');
在oracle安装目录\product\10.2.0\admin\gsp\udump目录下每个session形成.trc文件。
2.2通过tkprof进行分析:
根据日期选择相应的.trc文件,在命令行下通过tkprof进行分析:
tkprof servname_ora_2336.trc utput=servname_ora_2336.txt SORT=(EXEELA, PRSELA, FCHELA)
形成结果文件servname_ora_2336.txt。
2.3查看分析结果文件:
发现存在大量的建临时表语句,耗用了大量的CPU资源,而且花费的时间很长。
create table myHelp4879f036d (RowpintPRIMARY KEY,OID varchar(1000),Code
varchar(1000),Name varchar(1026),ZJM varchar(100),Path varchar(40))
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 0 0.00 0.00 0 0 0 0
Execute 1 19.06 196.34 24 751455 1552 0
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 1 19.06 196.34 24 751455 1552 0
经交流,在录入业务数据时,对基础数据字典表进行了查询,每个保存业务要进行两次字典表查询,而字典表查询程序实现方式采用了建临时表的方法,频繁的建表删表,导致系统耗费了大量的资源,导致性能急剧下降。 |
收藏
举报
TAG: