informix 提供了三种方式监控系统和数据库性能:
命令行:onstat
图形监控工具:onperf
表:sysmaster 数据库中众多的系统监控接口表
首先要了解一下informix当前的状态用:onstat -p
IBM Informix Dynamic Server Version 9.xx.xxx -- On-Line -- Up 5 days 01:51:35 -- 789344 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
798251 1041284 3155374220 99.97 1012849 1487533 50868819 98.01
isamtot open start read write rewrite delete commit rollbk
590342713 17666764 51598182 281480806 29814902 2097875 123259 788012 952
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 19290.10 16003.52 490 980
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
6192 145 2933019195 0 0 110 7077 8352832
ixda-RA idx-RA da-RA RA-pgsused lchwaits
17643 492 464366 480479 54338
第一行中显示当前状态是 On-Line。informix有三种特别重要的状态:Off-Line、Quiescent 和 On-Line。
Off-Line 方式表明 IDS 当前没有在运行。
Quiescent 方式表明 IDS 正在以单用户方式运行
On-Line 方式表明 IDS 正在正常运行,
两个 %cache 字段表明 IDS 目前使用内存高速缓存的效率
seqscan 字段表明自数据库启动或联机以来执行了多少次顺序扫描。
如果这个数字相当大,并且还在不断增加,那么这可能表明性能有问题
ixda-RA、idx-RA、da-RA 及 RA-pgused。这些字段组合在一起表明 IDS 使用 Informix 预读机制的效率。
理想情况是,预读的页数(即 ixda-RA、idx-RA 和 da-RA 之和)等于顺序扫描或索引读期间所使用的页数
(即 RA-pgused)。这表明预读的页百分之百地用于顺序扫描和索引读。
查看块状态 onstat -d
第一部分列出了所有的 dbspace,第二部分则列出了所有的块
Dbspaces
address number flags fchunk nchunks flags owner name
700000040182e58 1 0x1 1 1 N informix root
70000004103c9b8 2 0x1 2 1 N informix root
...........
Chunks
address chunk/dbs offset size free bpages flags pathname
700000040183028 1 1 0 125000 55644 PO-- /home/db/informix/dbs
700000040183568 2 2 25 500000 249947 PO-- /home/db/informix/dbs
...........
还有些,下次再说。