互联网服务Db2进程db2 v9.7

db2 进程特别慢

这两天我们db2数据库上应用进程运行非常慢,jdbc连接过来的SQL执行了15min左右还没结束,我在后台抓取SQL后杀掉进程,然后执行SQL,不到1s的时间就执行完成,同样的应用进在测试机上跑同样的数据也在不到一分钟内执行完成,网络有延时 ping服务器大概有350ms左右的延时,这可能是什么原因导致的?

参与6

1同行回答

icycastleicycastle课题专家组数据库管理员某证券公司
可能的情况比较多,建议(1)是否能确定慢的时候,SQL是否处于锁等待?(2)慢的是否服务器压力如何?(3)为什么服务器的PING延迟这么高,是否会引起应用程序响应慢,进一步可能导致锁加剧?(4)最好比较下快慢情况下的执行计划;...显示全部

可能的情况比较多,建议
(1)是否能确定慢的时候,SQL是否处于锁等待?
(2)慢的是否服务器压力如何?
(3)为什么服务器的PING延迟这么高,是否会引起应用程序响应慢,进一步可能导致锁加剧?
(4)最好比较下快慢情况下的执行计划;

收起
证券 · 2017-07-17
浏览1758
  • 该jdbc进程执行的时候已经在目标表上持有ix锁,有别的进程等待该进程,我这边设置的lock time out时间为20s,当时在运行的时候服务器的负载为 8.14 8.11 9.13(服务器为16core),多次查看负载差别不大,cpu利用率在36%左右,内存占用为60%左右,主要被cache占用,只有同一条SQL 我只查看了一次执行计划 耗费20w左右,发现有一个表示全表扫描,添加索引有 耗费9w左右,把这条SQL领出来执行非常非常快就能执行完成,我现在就是疑惑的这么大的网络延时是不是造成该情况的主要原因?
    2017-07-17
  • freebile  freebile回复 y5_set
    看你对数据库服务器cpu、IO、内存资源的监控,问题可能在锁或者jdbc,建议从这二方面看看
    2017-07-18
  • toretto  toretto回复 y5_set
    物力资源使用还好,没有遇到瓶颈。至于网络问题,需要对比平时的网络情况,不好判断是否属于正常情况。可以看看diaglog里面有没有大量的911报错,两个服务器上执行的执行计划是否一致,另外JDBC也可能是引起问题的原因(DB2是否升级过);该SQL什么时候开始执行慢的?最近有没有做过重要变更。
    2017-07-26

提问者

y5_set
其它不告诉你

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-07-17
  • 关注会员:2 人
  • 问题浏览:2002
  • 最近回答:2017-07-17
  • X社区推广