现在的位置: 首页 > 综合 > 正文

informix性能调整(1)

2013年03月12日 ⁄ 综合 ⁄ 共 1462字 ⁄ 字号 评论关闭

1。dbspaces位置

logdbs, phydbs, tmpdbs, blobdbs, datadbs不要与rootdbs放在一起。最好将各日志放在不同的硬盘上,以提高读写效率。
对服务器来说,一盘多硬盘的情况下,服务器本身会带卷的机制。可以把多块硬盘划为一个或多个逻辑卷。这时就无法显性的
把各日志分配到不同的硬盘上,但对卷操作时,服务器是否写到不同的硬盘上就不知道了。(我想应该会在读写同时进行时写到多块盘上)

2。裸设备

按理说裸设备应该比熟文件快,但我测试中发现不如熟文件快。一定是哪个环节上出了问题。有机会还要测试使用裸设备来对比一下效率。
但裸设备只是在IO是效率比较高,informix的整体性能不仅在IO,所以应该不会因为裸设备的原因把系统性能提到一个级别,只能是优化。

3。日志类型
informix日志分为4种:无日志, 无缓冲日志, 缓冲日志, ansi
缓冲日志是效率比较高的

4。检验点频率与周期
检验点是共享内存中数据写入磁盘的一致点。如果周期较常,可以
更有效利用共享内存。但遇到问题,共享内存中的数据有可能丢失 
onconfig中的 CKPTIONTVL 加大会减少检验频率,有可能提高性能

5。CPU相关参数
MULTIPROCESSOR  1可以指定为多个cpu

6。buffers、locks
在内存允许的情况下,buffers越多越好。应占所有共享内存的40%以上(但缓冲区越多,校验点越多)
buffersize = buffers*pagesize
pagesize 可以用onstat -b显示在最后一位(测试中软linux:2k)
可以设置buffersize为物理内存的20-25%,  400m = 2k*buffers  buffers=200000

locks也要适当增加,保证在onstat -p中不会出现锁等待

7。LRU
将buffers设为多少个队列,多了可以减少多用户的争用。bufwaits反应这个参数

LRU_MAX_DIRTY   60# LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY   50
上面两个参数数值越小可以减小检验时间,但有可能影响别的应用程序(是间隔小,还是值小?)

8。CLEANERS
清理修改缓冲区的线程数,建意与LRU相同。

9。logaize,logfile 
少量大日志文件更容易管理,大量小日志文件更安全。
如果不考虑太多备份,可以用少量大日志

10。共享内存

SHMVIRTSIZE     8000            # initial virtual shared memory segment size
SHMADD          8192            # Size of new shared memory segments (Kbytes)
SHMTOTAL        0

SHMVIRTSIZE共享内存初始值可以根据onstat -g seg的值来指定(正常运行状态) (大概80M)
SHMADD每次增加值,应为SHMVIRTSIZE的10%以上。也可以根据物理内存分:512M以上物理内存可以分32768k
SHMTOTAL 0为不限制

11。RA_PAGES、RA_THRESHOLD

onstat -p 中的 idx_RA、 idxda_RA、da_RA之和应接近RA_pgsused值(1:1)
具体怎么调整要查一下

12。日志大小的一些简单原则

rootdbs上不要放数据,logdbs建立成datadbs的1/3,phydbs建立成logdbs的1/2,tmpdbs=phydbs

  

抱歉!评论已关闭.