db2和mysql性能优化_DB2数据库性能调优的十个办法
這篇文章主要是針對e-business OLTP的10個(gè)性能方面的Tips。
10. Monitor Switches
打開Monitor Switch,才能獲得性能方面的信息,命令如下
db2 "update monitor switches using lock ON sort ON bufferpool ON uow ON table ON statement ON"
9. Agents
要保證有足夠的agent應(yīng)付系統(tǒng)負(fù)載
命令:db2 "get snapshot for database manager"
要察看“Agents waiting for a token” 或者“Agents stolen from another application”,如果有值,就需要增加DB manager的agent值,就是修改MAXAGENTS 和/或者 MAX_COORDAGENTS的值。
High water mark for agents registered = 7
High water mark for agents waiting for a token = 0
Agents registered= 7
Agents waiting for a token= 0
Idle agents= 5
Agents assigned from pool= 158
Agents created from empty Pool = 7
Agents stolen from another application= 0
High water mark for coordinating agents= 7
Max agents overflow= 0
8. Maximum Open Files
最大的打開文件數(shù)目
DB2限制同時(shí)打開的文件數(shù)目,數(shù)據(jù)庫參數(shù)"MAXFILOP"限定了并發(fā)打開的文件數(shù)目。如達(dá)到這個(gè)數(shù)目,DB2就會(huì)開始關(guān)閉和打開Tablespace文件,包括raw device,這樣會(huì)降低SQL反映時(shí)間和占用CPU。
使用命令來查看是否有文件關(guān)閉情況:
db2 "get snapshot for database on DBNAME"
看看其中的 "Database files closed = 0"
如果值不為零,就要修改MAXFILOP,
db2 "update db cfg for DBNAME using MAXFILOP N"
7. Locks
缺省的LOCKTIMEOUT=-1,就是說不設(shè)置lock的timeout,在OLTP中這可能是一個(gè)災(zāi)難。然而很多DB就是這么設(shè)置的。要設(shè)置比較小的數(shù)值,比如設(shè)置LOCKTIMEOUT=10或者15秒。
察看命令:
db2 "get db cfg for DBNAME",
看看下面的信息:
Lock timeout (sec) (LOCKTIMEOUT) = -1
要和應(yīng)用人員將明白,他們是否已經(jīng)在程序中可以處理timeout的情況。然后設(shè)置
db2 "update db cfg for DBNAME using LOCKTIMEOUT 15"
可以在系統(tǒng)中察看lock wait的數(shù)目,lock wait time, lock list 使用的內(nèi)存量。
db2 "get snapshot for database on DBNAME"
察看:
Locks held currently= 0
Lock waits= 0
Time database waited on locks (ms)= 0
Lock list memory in use (Bytes)= 576
Deadlocks detected= 0
Lock escalations= 0
Exclusive lock escalations= 0
Agents currently waiting on locks= 0
Lock Timeouts= 0
如果lock list的內(nèi)存量(bytes)超過LOCKLIST 的50%,那么需要增加LOCKLIST的量,LOCKLIST是按4k計(jì)算。
6. Temporary Tablespaces
臨時(shí)表空間一般要有3個(gè)containers在不同的disk上,可以實(shí)現(xiàn)并行I/O,提高sorts, hash joins,或者其他在TEMPSPACE上的動(dòng)作的性能。
db2 "list tablespaces show detail", 可察看臨時(shí)表空間的container,
Tablespace ID= 1
Name= TEMPSPACE1
Type= System managed space
Contents= Temporary data
State= 0x0000
Detailed explanation: Normal
Total pages= 1
Useable pages= 1
Used pages= 1
Free pages= Not applicable
High water mark (pages)= Not applicable
Page size (bytes)= 4096
Extent size (pages)= 32
Prefetch size (pages)= 96
Number of containers= 3
這里表示有3個(gè)container,Prefetch size是Extent size的3倍。為了最好的并行性能,最好Prefetch size是Extent size的倍數(shù)。一般倍數(shù)是container的數(shù)目。
db2 "list tablespace containers for 1 show detail"
可以看到containers的定義。
總結(jié)
以上是生活随笔為你收集整理的db2和mysql性能优化_DB2数据库性能调优的十个办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql构建栋_【转载】这次拆库 应是
- 下一篇: mysql字段简索引_MySQL常用的一