银行

锁等时间---数据库性能问题

数据库性能
最近数据库重启后,性能出现了明显下降,想定位下问题的根源。

统计前后的数据库快照发现锁等时间发生了明显的变化:

重启后:
Lock waits                                 = 4740274
Time database waited on locks (ms)         = 7114056732
平均每个锁等的时间是: 7114056732/4740274=1500ms
当前锁参数:db2 get  db cfg show detail |grep -i lock
Max storage for lock list (4KB)              (LOCKLIST) = 85536                      85536                     

重启前:
Lock waits                                 = 73913114
Time database waited on locks (ms)         = 19451225942
平均每个锁等的时间是: 19451225942/73913114=263ms
重启前锁参数:db2 get  db cfg show detail |grep -i lock
Max storage for lock list (4KB)              (LOCKLIST) = 85536                      65536


发现锁参数locklist和maxlocks的值是一致的。数据库是V8的,locklist修改后才不及时生效。
参与6

5同行回答

xu5762173xu5762173数据库管理员Ess
二楼正解显示全部
二楼正解收起
证券 · 2013-02-26
浏览708
czbankadminczbankadmin软件开发工程师浙商银行
在数据库性能很底的时候抓去数据库的snap快照。db2 "get monitor switches"查看监控开关是否开启db2 "update monitor switches using bufferpool on lock on sort on statement on uow on"开启监控状态,指对本次回话有效,退出就会自动关闭。db2 "reset monitor for db $db...显示全部
在数据库性能很底的时候抓去数据库的snap快照。
db2 "get monitor switches"查看监控开关是否开启
db2 "update monitor switches using bufferpool on lock on sort on statement on uow on"开启监控状态,指对本次回话有效,退出就会自动关闭。
db2 "reset monitor for db $dbname"重置监视时间,也就是情况历史的snap记录。
等待一段时间,时间可以根据系统性能底的时间进行选定。
db2 "get snapshot for all on $dbname"抓取快照。
通过分析里面的内容进行判断,找出相关应用。收起
互联网服务 · 2013-02-25
浏览732
Priest_LeonPriest_Leon系统架构师99无限
建议:通过db2top或其他进行监控、查找。解决方法:1、自身的应用出发,数据库表结构设计2、对应用架构的系统资源进行监控,是否是影响数据库性能根源之一3、从业务角度分析,此锁需要设计为表锁or行锁4、其他方面考虑以下仅个人观点!...显示全部
建议:
通过db2top或其他进行监控、查找。

解决方法:
1、自身的应用出发,数据库表结构设计
2、对应用架构的系统资源进行监控,是否是影响数据库性能根源之一
3、从业务角度分析,此锁需要设计为表锁or行锁
4、其他方面考虑

以下仅个人观点!收起
互联网服务 · 2013-02-25
浏览743
zhmwangzhmwangPDOceanBase
现在只能是不断的收集快照了,找到引起锁等待的具体应用,具体语句.显示全部
现在只能是不断的收集快照了,找到引起锁等待的具体应用,具体语句.收起
互联网服务 · 2013-01-27
浏览691
weiruan85weiruan85数据库管理员ibm
锁等待是由于应用引起的 ,你应该对数据库抓引起锁等待的sql语句 ,从应用的角度进行分析。db2pd -db dbname -lock -dynamic -app -agent ,反复的进行监控。另外把db2diag.log贴一下,看看是否锁升级之类的比较多...显示全部
锁等待是由于应用引起的 ,你应该对数据库抓引起锁等待的sql语句 ,从应用的角度进行分析。
db2pd -db dbname -lock -dynamic -app -agent ,反复的进行监控。

另外把db2diag.log贴一下,看看是否锁升级之类的比较多收起
政府机关 · 2013-01-27
浏览644

提问者

jeffbeck
数据库管理员某银行
擅长领域: 数据库服务器分布式系统

问题状态

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