informix的效能優化(之一)

tolywang發表於2007-05-12

http://db.rdxx.com/

以下是我用INFORMIX DATABASE的一點體會,分享給大家,歡迎大家一起探討!

1. 日誌緩衝
如果不怕丟失幾個事務則最好用緩衝日誌,這樣可以得到更好的效能.
如果資料
安全性很重要,則最好用非緩衝日誌.



2. DSS SERVER的優化有三個目標:
1>. 總查詢通過量最大化
可以將ONCONFIG檔案中的PDQPRIORITY設定限制小於25%
2>. 每個查詢處理時間最小化
可以將ONCONFIG檔案中的PDQPRIORITY設定限制大於50%
3>. 平衡優先順序
可以將ONCONFIG檔案中的PDQPRIORITY設定限制大於25%,小於50%
3. OLTP SERVER的優化有三個目標:
1>. 更新活動通過量最大化
使用緩衝日誌
將檢驗點間隔最大化,週期最小化
可以將ONCONFIG檔案中的PDQPRIORITY設定限制為0
增加物理日誌長度
最大化寫入緩衝百分比
其實以上的目標也是會矛盾的,關鍵在於如何取捨.
2>. 查詢活動通過量最大化
最大化BUFFERS
可以將ONCONFIG檔案中的PDQPRIORITY設定為0或1
最大化讀取緩衝百分比
3>. 事務安全最大化
最小化CKPTINTVL
使用非緩衝日誌
使用冗餘磁碟和I/O路徑
減少物理日誌長度
4. 簡單查詢SERVER的優化有三個目標:
最大化BUFFERS,它一般>=40%RAM
可以將ONCONFIG檔案中的PDQPRIORITY設定<25%
5. 記憶體問題
INFORMIX可以使用的記憶體是不限制的,給多少用多少,下面以IDS7.X為例:
緩衝區最多 768000 PAGES (OS 3GBW/4KB)
DSS記憶體最多1G
鎖最多8000000
邏輯日誌緩衝區 3個 LOGSIZE最大2G, TOTAL 6G
物理日誌緩衝區 2個 PHYSFILE最大2G, TOTAL 4G
資料字典緩衝區 沒有限制,可以調整引數DD_HASHSIZE和 DD_HASHMAX
onstat -g dic確定資料字典緩衝區是否接近容量
儲存過程緩衝區 沒有限制,可以調整引數PC_HASHSIZE和PC_POOLSIZE
onstat -g prc確定儲存過程緩衝區是否接近容量
資料分佈緩衝區 可以調整引數DS_HASHSIZE和DS_POOLSIZE
onstat -g dsc確定資料分佈緩衝區是否接近容量
6. 磁碟問題
磁碟是越多越好的
多些驅動器比大的驅動器好
採取RAID磁碟陣列

7. 核心限制
不同的OS有不同的核心,這是可以調整的.
8. 記憶體引數
onstat -g seg確定共享記憶體分配和查詢記憶體分割槽
SHMVIRTSIZE確保最低正常負荷記憶體,如果訊息日誌檔案中表示動態新共享記憶體的訊息很多,則要增加此引數的數值.
SHMADD至少應為SHMVIRTSIZE的10%
SHMTOTAL除非很小的系統,否則社為0讓記憶體增長.
9. 分塊表和大量區域
用oncheck -pt 和 oncheck -pe檢查表的區域數及其在磁碟上的佈局
一般說表格超過33個區域系統比較慢,可以壓縮表格來解決
1>. 刪除表格重建並重新裝入資料
2>. 重新建立索引
3>. 將表和索引放在不同的DBSPACE

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84629/,如需轉載,請註明出處,否則將追究法律責任。

相關文章