温馨提示×

centos中informix怎么调优

小樊
51
2026-10-08 21:36:58
栏目: 智能运维

在 CentOS 上调优 IBM Informix(如 11.70 / 12.10 / 14.10),通常从 操作系统层、数据库实例参数、SQL 与索引、监控手段 四个方面入手。下面给你一套较系统的调优思路和常用做法。


一、CentOS 操作系统层调优

1. 内核参数(/etc/sysctl.conf)

Informix 对共享内存、信号量、文件句柄要求较高。

kernel.shmmax = 68719476736        # 最大共享内存段
kernel.shmall = 16777216           # 共享内存页总数
kernel.sem = 250 32000 100 1024
fs.file-max = 65536
net.ipv4.tcp_keepalive_time = 300

执行:

sysctl -p

2. 用户资源限制(/etc/security/limits.conf)

Informix 用户(如 informix):

informix soft nofile 65536
informix hard nofile 65536
informix soft nproc 2048
informix hard nproc 2048

3. 关闭不必要的服务

  • 禁用 firewalld(如内网)
  • 关闭 selinux(生产可设为 permissive)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

4. 磁盘与文件系统

  • 使用 XFS / ext4
  • 数据盘与日志盘分离
  • 使用裸设备(老版本)或 Direct I/O

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

主要文件:$INFORMIXDIR/etc/onconfig.<servername>

1. 内存相关

BUFFERS        100000     # 数据缓冲区(页)
RESIDENT       1          # 常驻内存
SHMVIRTSIZE    32768      # 虚拟内存初始大小(KB)
SHMADD         8192
LOCKS          20000

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

2. 磁盘 I/O

CKPTINTVL      300
LRUS           8
LUR            4
PHYSFILE       512000
LOGFILES       10
LOGSIZE        512000

3. 并发与线程

MULTIPROCESSOR 1
NUMCPUVPS     4
NUMAIOVPS     4
NETTYPE       soctcp,4,50,CPU

三、数据库与 SQL 层调优

1. 索引优化

  • 高并发查询字段建索引
  • 避免过度索引(影响写入)
  • 使用复合索引注意顺序
CREATE INDEX idx_emp_dept ON employee(dept_id, hire_date);

2. SQL 优化

  • 使用 SET EXPLAIN ON 分析执行计划
  • 避免 SELECT *
  • 使用绑定变量
SET EXPLAIN ON;
SELECT * FROM orders WHERE cust_id = 1001;

3. 统计信息更新

UPDATE STATISTICS HIGH FOR TABLE orders;

四、监控与诊断工具

1. Informix 自带

onstat -p     # 性能概览
onstat -g ses # 会话
onstat -g sql # SQL
onstat -g ckp # 检查点
onstat -g io  # I/O

2. 慢 SQL 定位

onstat -g sql | sort -k 5 -r

3. 日志

  • 在线日志:online.log
  • 慢日志:开启 SQLTRACE
SQLTRACE level=low,ntraces=1000,size=4,mode=oneshot

五、常见性能问题速查

问题 可能原因 解决
CPU 高 缺索引 / 全表扫 建索引
I/O 高 缓冲区小 增大 BUFFERS
锁等待 事务长 缩短事务
checkpoint 久 日志小 增大 LOGSIZE

六、示例:典型 16G 内存服务器配置

BUFFERS 200000
NUMCPUVPS 4
NUMAIOVPS 4
SHMVIRTSIZE 32768
LOGFILES 10
LOGSIZE 512000

如果你能提供:

  • Informix 版本
  • CentOS 版本
  • 内存 / CPU
  • 主要业务(OLTP / OLAP)

我可以给你 更精确的 onconfig 参数建议。

0 踩