系统上线两个月左右,请IBM工程师对数据库进行了一次调优,主要收获感觉有以下几点:
1,应用服务器一定要与数据库服务器分开
2,如果存在多个数据库,一定要硬盘分开(io忙)
3,每个数据库的数据与日志一定要硬盘分开(io忙)
4,针对数据库主要有如下几点:
查看命中率:
打开实例级开关:主要是以下几个参数:
DB2 update dbm cfg using DFT_MON_BUFPOOL ON;
DB2 update dbm cfg using DFT_MON_TABLE ON;
DB2 update dbm cfg using DFT_MON_STMT ON;
update monitor switches using bufferpool on lock on sort on statement on table on uow on;
抓取快照:
DB2 get snapshot for dynamic sql on dbname;
DB2 get snapshot for table sql on dbname;
DB2 get snapshot for bufferpools on dbname;
在快照文件中查看行读,行写,以及命中率的情况,从而做出相应调整.
5,修改缓冲池内存大小:
先查看缓冲池的具体信息:
select * from syscat.bufferpools;
修改缓冲池大小:
alter bufferpool bufferpool_name immediate size 改成的的大小 automatic;
6,动态监视缓冲池使用情况:
DB2mtrk -i -d
7,查看数据库日志某段时间内
DB2diag -time 2009-05-23.00.00.00:2009-05-23.00.30.00