informix的性能优化(之一)
2024-07-21 02:08:36
供稿:网友
本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
informix的性能优化(一)
作者: ccbzzp
以下是我用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
歡迎大家一起探討!
待續...