人的差别在于业余时间,而一个人的命运决定于晚上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:

引用 删除 tiger_white   /   2012-02-08 16:51:29
讲的很详细,学习了
 

评分:0

我来说两句

Open Toolbar