IDS9.4/AIX5.2 performace degradation
I did not see the post that Ben is replying to at all, I am commenting on
what's below, but if you send me the full posting with the SYSTEM DESCRIPTION
and the onstat's I requested, via email I'll look it all over. Ben's comments
are mostly well taken. See below.
Art S. Kagel
I do not like using SERVERNUM zero. It works but almost always causes
problems when you try to bring up a second server. FWIW.
RESIDENT 1 can be a big performance improvement!
I don't remember if there is any issue with using NOAGE on AIX, but this can
also improve performance if the OS is aggressive about lowering the priority
of long running processes. Solaris and especially HPUX are very aggressive,
IB AIX is less so, but it can still help, especially if you notice that
performance is better for a day or so after you bounce the engine.
Looking at the onstat -g iov output in your other post I see that only one AIO
VP is normally used. Since you have KAIO enabled and it would seem that all
chunks are RAW devices, you do not need all 24 AIO VPs that are being
automatically allocated for you because you did not set a value here. Set
this to 4 to 6 (better take Ben's advice and use a VPCLASS....AIO instead to
set the number of AIO VPs).
This may be the reason why you are seeing so many CHUNK writes and FGwrites.
See below for my recommendation for LRUS and set CLEANERS >= LRUS to improve
LRU cleaning (and as Ben says if you have many disks set it >= numdisks or
numchunks to improve checkpoint performance.
I did not see the onstat -g seg output, but assuming Ben is correct, it would
be VERY good to fold the extra virtual segments into the size of the initial
segment as AIX does not do well with multiple segments. Also, IMS, AIX has
some kind of minimal allocation so that segments < 256MB are rounded up
internally, it's a waste to make smaller ones.
Given the BR of 9.51 that I calculated from your original post, I'd increase
this to at least 16 (avoid 32, 64, and 96 these specific values have caused
performance degradation in previous versions and I do not know if it's been
fixed since Informix & IBM have never acknowledged the bug). Don't forget to
match or exceed the new LRUS value when setting CLEANERS.
With values this low you should not be seeing mostly chunk writes and FG
writes as you are seeing. The only reason I can see would be the single
CLEANER or it may be that you just do not have enough BUFFERS configured. If
I get to see onstat -P and onstat -p output and time since stats were zero'd
I can better determine if you need more buffers.
You are using defaults, and since your RAU is 99.99% it's not a real worry,
but, the defaults may be stressing your IO systems and delaying writes,
especially given your VERY LOW read cache percentage (62%). Read cache
should ideally be in the high 90% range.
|