监控目标与总体架构
数据库层监控
dbaccess sysmasterselect
dbinfo('UTC_TO_DATETIME',sh_boottime) start_time,
current year to second - dbinfo('UTC_TO_DATETIME',sh_boottime) run_time,
sh_longtx longtxs
from sysmaster:sysshmvals;
dbaccess sysmaster
select name, value from sysmaster:sysprofile;
dbaccess sysmaster
SELECT s.sid, s.username, s.hostname, q.odb_dbname database,
dbinfo('UTC_TO_DATETIME',s.connected) connection_time,
dbinfo('UTC_TO_DATETIME',t.last_run_time) last_run_time
FROM sysmaster:syssessions s, sysmaster:syssqlstat t, sysmaster:sysvpprof v
WHERE s.sid = t.sid AND s.sid = v.sid
ORDER BY last_run_time DESC;
onstat -z 清零累计统计后,再观察一段时间增量,便于评估优化成效。操作系统层监控
平台化监控与告警
长事务、锁等待/死锁 突增;seqscans(顺序扫描)与 diskreads 同时偏高;LRU 写满/检查点频繁、onstat -F 显示写压力大;CPU 持续 >80%、iostat util% 持续 >90%、可用内存低 且伴随换页。快速排障与优化要点
sysprofile 观察 seqscans、diskreads 是否异常,配合 set explain on 获取执行计划,必要时建/改索引、改写 SQL。onstat -p 与 onstat -F 观察 bufreads/bufwrites、LRU 压力、写检查点频率,结合 LRU 参数 与 CKPTINTVL 等配置优化。onstat -g 观察 CPU VP 与扫描线索,必要时调整 NUMCPUVPS 等参数匹配 CPU 核数,避免超配或不足。sysmaster:sysshmvals.sh_longtx 与 sysprofile 的锁相关计数,定位长事务与锁争用源头,优化事务边界与隔离级别。onstat -z 清零统计,观察一个稳定业务周期的增量变化,验证优化成效。