- 3
- 0
- 约2.98万字
- 约 21页
- 2018-03-09 发布于河南
- 举报
数据库调优总结
数据库调优总结
HPB.11.11 U 9000/800小机,10颗cpu,32G内存,登陆到该机器(.6)上,执行top命令显示cpu空闲基本处于80%以上,然而dataserver处于run状态的只有2-3个,明显资源利用不合理,同时以sa用户登陆数据库,执行sp_sysmon “00:10:00”结果显示数据库cpu引擎利用率在90%以上,一般该值过大需要对数据库进行调优。调优步骤参照sp_sysmon执行结果中的Consider进行操作
一,锁调优
1. 使用sp_who进行察看,如果输出信息中blk字段不为0,则表明有点问题,问题与blk对应的值有关系。
fid spid status loginame origname hostname blk dbname cmd
0 32 recv sleep c7mon c7mon e3500 0 c7db BULK INSERT
0 37 recv sleep c7mon c7mon e3500 0 c7db AWAITING COMMAND
0 38 lock sleep c7mon c7mon e3500 32 c7db DROP TABLE
0 40 recv sleep c7mon c7mon e3500 0 c7db BULK INSERT
或:使用sp_lock进行察看,如果 输出信息 locktype 中包含 -blk 字符,说明当前表 table_id 的 page 上的锁对其他进程造
成了阻塞
fid spid locktype table_id page row dbname class context
0 31 Ex_intent 1821965567 0 0 c7db Non Cursor Lock Fam dur
0 32 Ex_intent-blk 1569440665 0 0 c7db Non Cursor Lock Fam dur
0 33 Ex_intent 0 0 c7db Non Cursor Lock Fam dur
2. 通过察看 master..syslocks 系统表
例
id dbid page type spid class fid context row loid
512004855 6 0 3 13 Non Cursor Lock 0 0 0 26
512004855 6 0 4 12 Non Cursor Lock 0 0 0 24
512004855 6 0 3 10 Non Cursor Lock 0 0 0 20
512004855 6 793 261 13 Non Cursor Lock 0 8 0 26
从spid可知道当前阻塞及被阻塞的进程,并且从type字段可以知道锁的类型,见下表:
1 0x1 排它表锁
2 0x2 共享表锁
3 0x3 排它意图锁
4 0x4 共享意图锁
5 0x5 排它页锁
6 0x6 共享页锁
7 0x7 更新页锁
8 0x8 排它行锁
9 0x9 共享行锁
10 0xA 更新行锁
11 0xB 共享下一键锁
256 0x100 锁在阻塞另一个进程
512 0x200 请求锁
所以
原创力文档

文档评论(0)