互联网服务

关于insert语句的时候CPU过高的问题

各位大侠么,我在测试环境做压力测试的时候发现一条insert语句竟然是CPU里面吃的最高的,我使用 db2pd -database bpedb -edu -applications -dynamic 来获得信息的结果如下下,请问insert语句能造成这样的厉害还是说有别的原因?Database Partition 0 -- Active -- Up 5 days 07... 显示全部
各位大侠么,我在测试环境做压力测试的时候发现一条insert语句竟然是CPU里面吃的最高的,我使用 db2pd -database bpedb -edu -applications -dynamic 来获得信息的结果如下下,请问insert语句能造成这样的厉害还是说有别的原因?
Database Partition 0 -- Active -- Up 5 days 07:58:57

List of all EDUs for database partition 0

db2sysc PID: 14090492
db2wdog PID: 26673270
db2acd  PID: 30474436

EDU ID    TID            Kernel TID     EDU Name                               USR          SYS     
========================================================================================================================================
75408     75408          63701137       db2agent (BPEDB) 0                  2897.674917    71.070904

Database Partition 0 -- Database BPEDB -- Active -- Up 4 days 00:17:34

Applications:
Address            AppHandl [nod-index] NumAgents  CoorEDUID  Status                  C-AnchID C-StmtUID  L-AnchID L-StmtUID  Appid                                                            WorkloadID  WorkloadOccID
0x07800000013C0080 28686    [000-28686] 1          75408      UOW-Waiting             0        0          64       1          132.228.226.20.54504.1303200937                                  1           2225      

Database Partition 0 -- Database BPEDB -- Active -- Up 4 days 00:17:34

Dynamic Cache:
Current Memory Used           63613954
Total Heap Size               63669248
Cache Overflow Flag           0
Number of References          206251322
Number of Statement Inserts   18120
Number of Statement Deletes   12549
Number of Variation Inserts   11585
Number of Statements          5571

Dynamic SQL Statements:
Address            AnchID StmtUID    NumEnv     NumVar     NumRef     NumExe     Text
0x070000032E3EE6C0 64     1          1          1          2897179    2897179    INSERT INTO
    WPRBE00.SCOPE_COMPLETION_COUNTER_T (SIID, PIID, COUNTER, VERSION_ID ) VALUES ( ?, ?, ?, ?) 收起
参与26

查看其它 24 个回答weiruan85 的回答

weiruan85 weiruan85 数据库管理员 ibm
各位大侠么,我在测试环境做压力测试的时候发现一条insert语句竟然是CPU里面吃的最高的,我使用 db2pd -database bpedb -edu -applications -dynamic 来获得信息的结果如下下,请问insert语句能造成这样的厉害还是说有别的原因?
Database Partition 0 -- Active -- Up 5 days 07:58:57


man ,你这种看法就是有问题的。   之前已经说过了 db2pd -edu 出来的usr sys 是累积值 而不是当前值。
看那个edu 耗费的cpu高还是不高,对看两次的delta 值。   理解了这个,后边对问题的分析才是正确的。

关于insert 耗费cpu 这个问题, 得理解insert 插入数据库的过程。比如缓冲池太小导致频繁的页清除, 同时因为存在索引,维护的开销也是比较大的。 如果表所在的表空间是sms ,那么查找空闲页的开销也是比较大的。  还有触发器,外键等等原因。  

另外,出问题时需要对app 做快照,间隔时间做, 对比snapshot数据的变化,找到问题分析的原因。
或者db2exfmt 看执行计划,db2batch 测试性能等等
政府机关 · 2013-03-26
浏览1528

回答者

weiruan85
weiruan85 0 0 3
数据库管理员 ibm
评论2666

weiruan85 最近回答过的问题

回答状态

  • 发布时间:2013-03-26
  • 关注会员:1 人
  • 回答浏览:1528
  • X社区推广