在 CentOS 上 Informix 运行慢 的原因通常不是单一因素,而是系统、数据库配置、SQL、硬件等多方面叠加。下面按最常见原因 → 排查方法 → 解决建议给你系统梳理。
Informix 非常依赖内存(buffer pool)。
现象
排查
free -h
vmstat 1
sar -r 1 10
解决
BUFFERSInformix 对磁盘 I/O 非常敏感。
常见原因
排查
iostat -x 1
sar -d 1 10
解决
CentOS 默认文件系统配置不一定适合数据库。
建议
noatime,nodiratime
这是最常见性能问题。
onstat -p
关注:
bufreadsbufwritescache hit %建议
排查
onstat -l
解决
现象
排查
onstat -g ckp
原因
现象
排查
onstat -g ses
onstat -g sql
解决
LIKE '%xx%'Informix 优化器依赖统计信息。
update statistics for table tabname;
建议
update statistics highSET EXPLAIN ON;
查看是否 seqscan。
现象
排查
onstat -u
onstat -k
解决
LOCKSonstat -g ses | wc -l
解决
检查:
sysctl -a | grep shm
sysctl -a | grep sem
典型需要:
kernel.shmmax
kernel.shmall
kernel.sem
free -h
iostat -x 1
onstat -p
onstat -l
onstat -g ckp
onstat -u
onstat -k
你可以补充:
onstat -p 输出我可以直接帮你定位是哪一类问题。