Informix动态服务器onstat选项

发表于:2007-06-22来源:作者:点击数: 标签:
Onstat-D INFOR MI X-OnLineVersion7.22.UC1--On-Line--Up00:00:38--423064Kbytes Dbspaces addressnumberflagsfchunknchunksflagsownername ad5c1001???1??1??1???N??informixrootdbs ad5dc282???1??2??1???N??informixdbs7 ad5dc9

   

Onstat-D

INFORMIX-OnLineVersion7.22.UC1--On-Line--Up00:00:38--423064Kbytes

Dbspaces

addressnumberflagsfchunknchunksflagsownername

ad5c1001???1??1??1???N??informixrootdbs

ad5dc282???1??2??1???N??informixdbs7

ad5dc983???1??3??1???N??informixdbs8

3active,2047maximum

Chunks

addresschk/dbsoffsetpageRdpageWrpathname

ad5c17011??50??1259??289??/dev/pa11

ad5c63822??50??11???11???/dev/pa12

ad5c71033??50??3???0???/dev/pa13

3active,2047maximum

??

监视“pageRd”和“PageWr”列中页读和页写的数目,这样可以检查每个chunk访问的均衡情况。记住一个设备上可能会有多个chunk。

Onstat-F

InformixDynamicServer2000Version9.21.FC1--On-Line--Up18:05:32--s

 

FgWrites?LRUWrites?ChunkWrites

0?????602010???355973

address?????flusher???state??data

c0000000ba33e828?0??????I????0???=0X0

c0000000ba33f028?1??????I????0???=0X0

c0000000ba33f828?2??????I????0???=0X0

c0000000ba340028?3??????I????0???=0X0

states:ExitIdleChunkLru

监视系统上发生的写操作的种类。前台写(FgWrites)应该受到限制,LRU写和chunk写会因为系统的不同而不同。

OLTP系统应该减少LRU写,但总会存在chunk写,但是LRU写会减少检查点发生的持续时间。在DSS系统中,chunk写应该大大提高,但仍会发生部分LRU写以限制前台写。在检查点时刻,监视页清除器(刷新器),确保它们都在忙于进行chunk写。

onstat-l

InformixDynamicServer2000Version9.21.FC1--On-Line--Up18:07:45--4

046800Kbytes

PhysicalLogging

Bufferbufusedbufsizenumpagesnumwritspages/io

P-245220003647872881266.62

phybeginphysizephyposphyused%used

1021595000003211664800.10

LogicalLogging

Bufferbufusedbufsizenumrecsnumpagesnumwritsrecs/pagespages/io

L-23100011052069515302241221.4213.6

SubsystemnumrecsLogSpaceused

OLDRSAM110520691038267280

addressnumberflagsuniqidbeginsizeused%used

c00000001807d4c04U-B----67243000352500025000100.00

c00000001807d4e05U-B----67253061dd2500025000100.00

c00000001807d5006U-B----672630c3852500025000100.00

c00000001807d5207U-B----672731252d2500025000100.00

c00000001807d5408U-B----67283186d52500025000100.00

c00000001807d5609U-B----672931e87d2500025000100.00

监视物理日志缓冲区的使用情况,观察输出第一行中bufsize和pages/io列,如pages/io除以bufsize大约为75%,则可以判定缓冲区的使用效率较高。如果小于75%,则物理日志缓冲区可能太大。如果该比率大于90%。则物理缓冲区太小。

采取同样的方法,监视逻辑日志缓冲区的使用情况。但如果使用无缓冲区日志,则缓冲区刷新要看事务的大小,而不是缓冲区的使用情况,这一点也可能总是成立。如果大多数事务比逻辑日志缓冲区页小,那么这一比例可能总是不搞,将逻辑缓冲日志保持其默认值。位物理日志文件应该在检查点发生时进行监测,确定该比率是否接近75%。调整良好的物理日志文件在检查点发生时几乎全满,如文件没满,则会浪费磁盘空间。还应该监视逻辑日志文件以确保它们已备份。使用sysmaster数据库,可确定那个逻辑日志文件是空闲的,在sytrans表中查找min(tx_logunip)>0的行,找出包含开放事务的最后哪个逻辑日志文件。

onstat-m

InformixDynamicServer2000Version9.21.FC1--On-Line--Up18:07:45--4

MessageLogFile:/informix/online_cqys.log

15:04:02Checkpointloguniq6739,logpos0x884360

15:09:06FuzzyCheckpointCompleted:durationwas0seconds,12066buffersno.

15:09:06Checkpointloguniq6739,logpos0x1719768

15:14:11FuzzyCheckpointCompleted:durationwas2seconds,3236buffersnot.

15:14:11Checkpointloguniq6739,logpos0x36aa018

15:19:14FuzzyCheckpointCompleted:durationwas0seconds,4645buffersnot.

15:19:14Checkpointloguniq6739,logpos0x39d8454

15:24:17FuzzyCheckpointCompleted:durationwas0seconds,5692buffersnot.

15:24:17Checkpointloguniq6739,logpos0x3bfb06c

15:29:20FuzzyCheckpointCompleted:durationwas0seconds,6731buffersnot.

15:29:20Checkpointloguniq6739,logpos0x3df959c

15:34:23FuzzyCheckpointCompleted:durationwas0seconds,7886buffersnot.

15:34:23Checkpointloguniq6739,logpos0x403f258

监视消息文件,查找可能发生的特殊事件。监视检查点发生频率及其运行时间。

onstat-P

InformixDynamicServer2000Version9.21.FC1--On-Line--Up18:10:41--s

Profile

dskreadspagreadsbufreads%cacheddskwritspagwritsbufwrits%cached

260596443144011937078372392.97148814022302741293075988.49

isamtotopenstartreadwriterewritedeletecommitrollbk

1482319405204271778439595437285925906180816250117716082821

gp_readgp_writegp_rewrtgp_delgp_allocgp_freegp_curs

0000000

ovlockovuserthreadovbuffusercpusyscpunumckptsflushes

00023394.7814060.69173442

bufwaitslokwaitslockreqsdeadlksdltoutsckpwaitscompressseqscans

331530290319982775200025454700529618

ixda-RAidx-RAda-RARA-pgsusedlchwaits

33421515700171864787220544716204519

Profile信息中有许多可以监测的内容

对OLTP系统来说,缓存读取命中率是十分重要的。读取命中率应大于等于95%。因为应用程序使用数据,这一点不是总能办到的,但这是一个起点,增加更多的缓冲区通常可以增加缓存读取命中率。也要监视缓存写入命中率,但它不太容易调整,缓冲区增加,它也会增加。应该将初始目标定位于85%或更高,但由于应用不同,该比率可能无法达到。锁冲突可以观察locwaits和locreqs两列,如果lockwaits等于或者大于lockreqs的1%,可能会有锁冲突,改变应用程序使用隔离级别和锁的方式将改善锁冲突的发生几率。

应用中出现死锁可以重deadlks和dltouts列中检查出,deadlks是Online检测并放弃的死锁数,dltouts是超出死锁时间的查询的数目。只有分布式查询才会出现死锁,如发生死锁,则应该改变应用程序。

onstat-R

NFORMIX-OnLineVersion7.22.UC1--On-Line--Up00:44:42--423064Kbytes

16bufferLRUqueuepairs

#f/mlength%ofpairtotal

0f188100.0%188

1m00.0%

2f188100.0%188

3m00.0%

4f188100.0%188

5m00.0%

6f188100.0%188

7m00.0%

8f188100.0%188

9m00.0%

10f188100.0%188

11m00.0%

12f188100.0%188

13m00.0%

14f188100.0%188

15m00.0%

0dirty,3000queued,3000total,4096hashbuckets,2048buffersize

startcleanat20%(ofpairtotal)dirty,or37buffsdirty,stopat10%

观察检查点发生时,每个队列中已经修改的缓冲区的百分比。将它和LRU_MAX_DIRTY参数进行比较,它应该总是小于LRU_MAX_DIRTY。若非如此,则可以判断执行写请求的pagecleaner不够,或者AIOVP不够,也可能是执行物理写入的KAIO线索不够,或者磁盘控制器不够或者驱动器本身饱和。对于OLTP系统,减少LRU_MAX_DIRTY,使之小于LRU队列中的dirty页的百分比通常将减少检查点的持续时间。

Onstat-gioq

InformixDynamicServer2000Version9.21.FC1--On-Line--Up18:42:23--4

046800Kbytes

AIOI/Oqueues:

qname/idlenmaxlentotalopsdskreaddskwritedskcopy

adt0000000

msc00127777000

aio00193209532743195810

pio00129702970

lio0012556025560

gfd30168251224860030

gfd4019900

gfd501174411744100

gfd6013234323400

gfd7011618161800

gfd801810004924764055240870

gfd9016130492778102710

gfd10013210

gfd11013210

gfd12016874384053380

gfd130118173577414620062737680

gfd14012411511659606301905350

监视I/O请求队列的长度(len)及其最大长度(maxlen)。maxlen大于25或者len总大于10说明请求没有得到及时的服务。如果磁盘或控制器尚未饱和,那么增加更多的VP将会有所帮助。

Onstat-glsc

InformixDynamicServer2000Version9.21.FC1--On-Line--Up18:15:12--s

LightScanInfo

descriptoraddressnext_lpagenext_ppageppage_leftbufcntlook_e

0c41edcd0875002234901N

1c41efe68856000clearcase/" target="_blank" >cc4971Y

1c41f07b8837000cc4971Y

用onstat-glsc判定是否使用了轻扫描。如果表大于缓冲区的大小,隔离级别设置为drity读,或者提交读或对表上加上共享锁,则会进行轻扫描。轻扫描会显著加快大表的扫描速度,ppage_left列显示给定表分片上的仍需要扫描的页数。

Onstat-gntd

InformixDynamicServer2000Version9.21.FC1--On-Line--Up18:18:29--s

globalnetworkinformation:

#netscbconnectsreadwriteq-freeq-limitsq-exceedalloc/max

455/4635594810133881975928/92135/100/0461/461

ClientTypeCallsAcceptedRejectedReadWrite

sqlexecyes52621672951017370232

srvinfxyes246000

onspaceyes0000

onlogyes0000

onparamyes0000

oncheckyes110289615316253

onloadyes0000

onunloadyes0000

onmonitoryes0000

dr_acceptyes0000

cdracceptno0000

ontapeyes510510917510969

srvstatyes2402448

asfechoyes0000

listeneryes00560612

crsamexecyes0000

safeyes0000

onutilyes007578

Totals55941681013388197592

??

监视接受/拒绝的连接数,如果被拒绝的连接数很大,则表示用户表已经溢出(onstat-povuserthreads),或者是连接时网络超时。

Onstat-gppf

INFORMIX-OnLineVersion7.22.UC1--On-Line--Up9days08:06:18--593176Ks

Partitionprofiles

partnumlkrqslkwtsdlkstoutsisrdiswrtisrwtisdelbfrdbfwrtseqsc

2300005051100000

2400009000000

25000011710800000

28000027000000

102600000900000

209716498189900056503417143409360674706623040

2097166108244109800054016338120571102083835417248424

629146234525000800088836188500

1048594739761212000276335577323089743120041555615417

1048603811793045000154939911307384313455143856324555

监视使用isrd,iswrt,isrwt,和isdel在打开的分片上进行读写操作的数目,由于只列出了打开的表,因此长时间用onstat-gppf采样,可以指出有哪些表被频繁使用。用segsc确定从表中读取数据时是否使用了顺序扫描。比较同一表各个分片的情况,判定每个分片的I/O是否均衡。

原文转自:http://www.ltesting.net