互联网服务

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

各位大侠么,我在测试环境做压力测试的时候发现一条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

25同行回答

weiruan85weiruan85数据库管理员ibm
各位大侠么,我在测试环境做压力测试的时候发现一条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


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

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

另外,出问题时需要对app 做快照,间隔时间做, 对比snapshot数据的变化,找到问题分析的原因。
或者db2exfmt 看执行计划,db2batch 测试性能等等收起
政府机关 · 2013-03-26
浏览1481
Priest_LeonPriest_Leon系统架构师99无限
对的,是否有其他相关App应用呢?显示全部
对的,是否有其他相关App应用呢?收起
互联网服务 · 2013-03-26
浏览1294
hzckn126hzckn126数据库管理员兰德纵横有限公司
回复 21# priest    AIX环境,DB的使用情况,请问你指哪些?内存吃了多少,CPU使用量还是I/O的情况?显示全部
回复 21# priest


   AIX环境,DB的使用情况,请问你指哪些?内存吃了多少,CPU使用量还是I/O的情况?收起
互联网服务 · 2013-03-25
浏览1296
hzckn126hzckn126数据库管理员兰德纵横有限公司
回复 22# wzhjjyy    应该是最新的,我可是runstats过的显示全部
回复 22# wzhjjyy


   应该是最新的,我可是runstats过的收起
互联网服务 · 2013-03-25
浏览1321
wzhjjyywzhjjyy数据库管理员暂无
lz 表的统计信息是否是最新的?显示全部
lz 表的统计信息是否是最新的?收起
IT分销/经销 · 2013-03-24
浏览1288
Priest_LeonPriest_Leon系统架构师99无限
什么环境呢?db资源使用率如何呢?显示全部
什么环境呢?db资源使用率如何呢?收起
互联网服务 · 2013-03-23
浏览1307
hzckn126hzckn126数据库管理员兰德纵横有限公司
回复 18# shlei6067 不是一次insert如此多,只是在高并发的情况下,发现insert成为CPU的瓶颈显示全部
回复 18# shlei6067

不是一次insert如此多,只是在高并发的情况下,发现insert成为CPU的瓶颈收起
互联网服务 · 2013-03-22
浏览1317
weiruan85weiruan85数据库管理员ibm
回复 11# hzckn     db2pd -edu  interval=30 , 间隔30秒 就会有一个usr delta ,这个才是实时的显示全部
回复 11# hzckn


    db2pd -edu  interval=30 , 间隔30秒 就会有一个usr delta ,这个才是实时的收起
政府机关 · 2013-03-21
浏览1300
shlei6067shlei6067联盟成员数据库管理员NJ
还真的没有测试过一次性insert这么多数据过,我都是用db2move。显示全部
还真的没有测试过一次性insert这么多数据过,我都是用db2move。收起
互联网服务 · 2013-03-21
浏览1318
hzckn126hzckn126数据库管理员兰德纵横有限公司
回复 16# leo 这个没关注,因为当时我没在场!显示全部
回复 16# leo
这个没关注,因为当时我没在场!收起
互联网服务 · 2013-03-21
浏览1279

提问者

hzckn126
数据库管理员兰德纵横有限公司

问题状态

  • 发布时间:2013-03-21
  • 关注会员:1 人
  • 问题浏览:11451
  • 最近回答:2013-03-26
  • X社区推广