在 CentOS 上运行 IBM Informix 感觉“慢”,通常不是单一原因,而是 系统配置、Informix 参数、资源竞争、存储 I/O 等多方面因素叠加。下面按常见原因逐一说明,并给出排查和优化建议。
Informix 对内存非常敏感(尤其是:
现象
top 中 si/so(swap in/out)不为 0排查
free -m
vmstat 1
建议
sysctl -w vm.swappiness=10
Informix 对 磁盘 I/O 非常敏感,尤其是:
常见问题
建议
mkfs.xfs /dev/sdX
mount -o noatime,nodiratime /dev/sdX /informix
Informix 不支持 THP,会导致延迟抖动。
检查
cat /sys/kernel/mm/transparent_hugepage/enabled
关闭
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
CentOS 默认可能开启 CPU 节能。
cpupower frequency-info
建议
cpupower frequency-set -g performance
这是 最典型慢的原因。
现象
bufreads 很高,bufwrits 低检查
onstat -p
建议
排序、group by、join 都用 tempdbs。
问题
建议
onstat -d
现象
建议
onstat -k
onstat -u
常见原因
onstat -g ses
慢 SQL 通常:
建议
SELECT *update statistics;
如果你在:
可能问题:
建议
free -m
vmstat 1
iostat -x 1
onstat -p
onstat -d
onstat -l
onstat -k
CentOS 上 Informix 慢,90% 是:内存/BUFFER 配置 + 磁盘 I/O + THP + tempdbs 问题
如果你愿意,可以告诉我:
我可以直接帮你给一套 针对性优化方案。