温馨提示×

centos下informix怎样优化

小樊
33
2026-09-11 21:50:13
栏目: 智能运维

在 CentOS 下对 IBM Informix 进行优化,通常从 操作系统层、数据库实例参数、SQL 与索引、存储与 I/O、监控与维护 几个方面入手。下面给你一套比较实用的优化思路(以 CentOS 7/8 + Informix 11/12/14 为例)。


一、CentOS 操作系统层优化

1. 内核参数(sysctl)

编辑 /etc/sysctl.conf

# 共享内存
kernel.shmmax = 68719476736
kernel.shmall = 16777216

# 信号量
kernel.sem = 250 32000 100 128

# 文件句柄
fs.file-max = 655360

# 网络
net.core.somaxconn = 1024
net.ipv4.tcp_tw_reuse = 1

执行:

sysctl -p

2. 用户资源限制

/etc/security/limits.conf

informix soft nofile 65536
informix hard nofile 65536
informix soft nproc 16384
informix hard nproc 16384

3. 关闭不必要的服务

systemctl stop firewalld
systemctl disable firewalld

(生产环境可用 iptables 精细控制)

4. 文件系统

  • 使用 XFS(推荐)
  • 挂载选项:
/dev/sdb /informix xfs noatime,nodiratime 0 0

二、Informix 实例参数优化(onconfig)

1. 内存相关

BUFFERS         100000     # 数据缓冲区(重要)
LOGBUFF         1024
PHYSBUFF        1024
RESIDENT        1          # 常驻内存
SHMVIRTSIZE     32768
SHMADD          8192

BUFFERS 一般设为物理内存的 20%~40%

2. 并发与 CPU

NUMCPUVPS       8
MULTIPROCESSOR  1
VPCLASS cpu,num=8
VPCLASS aio,num=4

3. 磁盘 I/O

RA_PAGES        64
RA_THRESHOLD   32

4. 检查点

CKPTINTVL      300

三、存储与 dbspace 优化

1. 分离关键 dbspace

  • rootdbs(小)
  • datadbs(数据)
  • logdbs(逻辑日志)
  • phydbs(物理日志)
  • tmpdbs(临时表)

2. 使用裸设备 or 多磁盘

  • 数据盘与日志盘 分开
  • 使用 SSD / RAID10

3. 碎片整理

oncheck -pe
oncheck -cI database:table

四、SQL 与索引优化

1. 使用 UPDATE STATISTICS

update statistics for table customer;
update statistics high for table orders;

2. 索引策略

  • 高选择性字段建索引
  • 避免过多索引(影响写性能)
  • 复合索引注意字段顺序

3. SQL 优化

SET EXPLAIN ON;

查看执行计划:

cat sqexplain.out

五、日志与事务优化

1. 逻辑日志

LOGFILES       20
LOGSIZE        10000

2. 长事务

LTXHWM         70
LTXEHWM        80

六、监控与日常维护

1. 常用命令

onstat -g ses      # 会话
onstat -g sql      # SQL
onstat -p          # 性能
onstat -g ioq      # I/O
onstat -g ntt      # 网络

2. 自动任务

  • 定期 oncheck
  • 定期 update statistics
  • 定期备份(ontape / onbar)

七、典型优化场景

场景1:查询慢

  • 看执行计划
  • 建索引
  • 更新统计信息

场景2:写入慢

  • 增加 LOGBUFF
  • 分离日志盘
  • 减少索引

场景3:CPU 高

  • 减少 NUMCPUVPS
  • 优化 SQL

如果你能告诉我:

  • Informix 版本
  • CentOS 版本
  • 数据量 / 并发量
  • 主要慢在“查询”还是“写入”

我可以给你 更针对性的 onconfig 参数和 SQL 示例

0