Do I need more KIO's
Posted in 2004
A user on IDS 9.21 (Solaris 8, 2-CPU Sun E250) saw slow performance and wondered whether the two KIO queues (maxlen 17, huge totalops) meant he needed more kernel AIO queues. Paul Watson explained the io/wup ratio from 'onstat -g iov' was below 1 (0.5-0.6), so I/O was fine, and that there are two KIO VPs because there are two CPUs. After reviewing the ONCONFIG and onstat -R/-p/-F/-m output, he pointed to the real issue: only 6000 buffers. He suggested raising BUFFERS to 50,000-100,000 (memory permitting), setting LRUS/cleaners to 127, increasing TAPEBLK, and questioned LTAPEDEV=/dev/null, then restarting. No follow-up confirming the outcome is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: General Discussion
Whats the io/wup from onstat -g iov, if it's less than one then
I'd leave it alone
Tugger wrote:
>
> Looking for advice:
>
> Users are complaining of slow system
>
> System specs:
> Sun E250 (2 x 400 CPU)
> Solaris 8
> Informix Dynamic Server 9.21
>
> "onstat -g ioq" shows 2 kio queues, each with a maxlex of 17. The
> totalops values are huge, around 400million each.
>
> The aio queue has a maxlen of 16 but only 53 totalops
>
> Would I be right in thinking I could do with another kio queue? Or are
> these limited to the number of CPU's on the system?
>
> Been ploughing through manuals all day, but keep getting interrupted by
> users complaining the system is slow, so am looking for a speedy
> solution :-)
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #
Looking for advice:
Users are complaining of slow system
System specs:
Sun E250 (2 x 400 CPU)
Solaris 8
Informix Dynamic Server 9.21
"onstat -g ioq" shows 2 kio queues, each with a maxlex of 17. The
totalops values are huge, around 400million each.
The aio queue has a maxlen of 16 but only 53 totalops
Would I be right in thinking I could do with another kio queue? Or are
these limited to the number of CPU's on the system?
Been ploughing through manuals all day, but keep getting interrupted by
users complaining the system is slow, so am looking for a speedy
solution :-)
Paul Watson wrote:
> Whats the io/wup from onstat -g iov, if it's less than one then
> I'd leave it alone
>
> Tugger wrote:
>
>>Looking for advice:
>>
>>Users are complaining of slow system
>>
>>System specs:
>>Sun E250 (2 x 400 CPU)
>>Solaris 8
>>Informix Dynamic Server 9.21
>>
>>"onstat -g ioq" shows 2 kio queues, each with a maxlex of 17. The
>>totalops values are huge, around 400million each.
>>
>>The aio queue has a maxlen of 16 but only 53 totalops
>>
>>Would I be right in thinking I could do with another kio queue? Or are
>>these limited to the number of CPU's on the system?
>>
>>Been ploughing through manuals all day, but keep getting interrupted by
>>users complaining the system is slow, so am looking for a speedy
>>solution :-)
>
>
Its 0.6 and 0.5 for each of the two KIOs
all of the AIOs are more than 1 though:
1.4, 1.4, 2.0, 2.0 etc...anything in that?
can you post the onstat -g iov and onstat -g ioq
Tugger wrote:
>
> Paul Watson wrote:
>
> > Whats the io/wup from onstat -g iov, if it's less than one then
> > I'd leave it alone
> >
> > Tugger wrote:
> >
> >>Looking for advice:
> >>
> >>Users are complaining of slow system
> >>
> >>System specs:
> >>Sun E250 (2 x 400 CPU)
> >>Solaris 8
> >>Informix Dynamic Server 9.21
> >>
> >>"onstat -g ioq" shows 2 kio queues, each with a maxlex of 17. The
> >>totalops values are huge, around 400million each.
> >>
> >>The aio queue has a maxlen of 16 but only 53 totalops
> >>
> >>Would I be right in thinking I could do with another kio queue? Or are
> >>these limited to the number of CPU's on the system?
> >>
> >>Been ploughing through manuals all day, but keep getting interrupted by
> >>users complaining the system is slow, so am looking for a speedy
> >>solution :-)
> >
> >
>
> Its 0.6 and 0.5 for each of the two KIOs
>
> all of the AIOs are more than 1 though:
> 1.4, 1.4, 2.0, 2.0 etc...anything in that?
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #
Paul Watson wrote:
> can you post the onstat -g iov and onstat -g ioq
>
Here they are:
Its the bit at the top of this first section that makes me think its KIOs
Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
days 19:12:22 -- 206848 Kbytes
AIO I/O queues:
q name/id len maxlen totalops dskread dskwrite dskcopy
kio 0 0 17 385173653 380451978 4721675 0
kio 1 0 17 396640375 392736782 3903593 0
adt 0 0 0 0 0 0 0
msc 0 0 1 1945150 0 0 0
aio 0 0 16 53 7 2 0
pio 0 0 0 0 0 0 0
lio 0 0 0 0 0 0 0
gfd 3 0 0 0 0 0 0
gfd 4 0 0 0 0 0 0
gfd 5 0 0 0 0 0 0
gfd 6 0 0 0 0 0 0
gfd 7 0 0 0 0 0 0
gfd 8 0 0 0 0 0 0
gfd 9 0 0 0 0 0 0
gfd 10 0 0 0 0 0 0
gfd 11 0 0 0 0 0 0
Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
days 19:12:15 -- 206848 Kbytes
AIO I/O vps:
class/vp s io/s totalops dskread dskwrite dskcopy wakeups io/wup
errors
kio 0 i 14.9 53953390 49341600 4611790 0 98018524 0.6
0
kio 1 i 15.0 54313963 50502783 3811180 0 105838388 0.5
0
msc 0 i 0.5 1945150 0 0 0 1944998 1.0
0
aio 0 i 0.0 23 5 0 0 16 1.4
0
aio 1 i 0.0 18 2 2 0 13 1.4
0
aio 2 i 0.0 2 0 0 0 1 2.0
0
aio 3 i 0.0 2 0 0 0 1 2.0
0
aio 4 i 0.0 2 0 0 0 1 2.0
0
aio 5 i 0.0 2 0 0 0 1 2.0
0
aio 6 i 0.0 2 0 0 0 1 2.0
0
aio 7 i 0.0 1 0 0 0 1 1.0
0
aio 8 i 0.0 1 0 0 0 1 1.0
0
aio 9 i 0.0 0 0 0 0 1 0.0
0
aio 10 i 0.0 0 0 0 0 1 0.0
0
aio 11 i 0.0 0 0 0 0 1 0.0
0
aio 12 i 0.0 0 0 0 0 1 0.0
0
aio 13 i 0.0 0 0 0 0 1 0.0
0
aio 14 i 0.0 0 0 0 0 1 0.0
0
aio 15 i 0.0 0 0 0 0 1 0.0
0
aio 16 i 0.0 0 0 0 0 1 0.0
0
aio 17 i 0.0 0 0 0 0 1 0.0
0
pio 0 i 0.0 0 0 0 0 1 0.0
0
lio 0 i 0.0 0 0 0 0 1 0.0
0
you've got 2 kio 'cos you've got two cpus, I suspect that NUMAIO
is one and the rest of the aio tally across to the gfd, I'd expect
onstat -g iof to show the path to the various chunks.
I think this looks fine.
Fire out your
ONCONFIG file,
onstat -R,
onstat -p,
onstat -F,
onstat -m,
onstat -l
outputs
Tugger wrote:
>
> Paul Watson wrote:
>
> > can you post the onstat -g iov and onstat -g ioq
> >
>
> Here they are:
>
> Its the bit at the top of this first section that makes me think its KIOs
>
> Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
> days 19:12:22 -- 206848 Kbytes
>
> AIO I/O queues:
> q name/id len maxlen totalops dskread dskwrite dskcopy
> kio 0 0 17 385173653 380451978 4721675 0
> kio 1 0 17 396640375 392736782 3903593 0
> adt 0 0 0 0 0 0 0
> msc 0 0 1 1945150 0 0 0
> aio 0 0 16 53 7 2 0
> pio 0 0 0 0 0 0 0
> lio 0 0 0 0 0 0 0
> gfd 3 0 0 0 0 0 0
> gfd 4 0 0 0 0 0 0
> gfd 5 0 0 0 0 0 0
> gfd 6 0 0 0 0 0 0
> gfd 7 0 0 0 0 0 0
> gfd 8 0 0 0 0 0 0
> gfd 9 0 0 0 0 0 0
> gfd 10 0 0 0 0 0 0
> gfd 11 0 0 0 0 0 0
>
> Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
> days 19:12:15 -- 206848 Kbytes
>
> AIO I/O vps:
> class/vp s io/s totalops dskread dskwrite dskcopy wakeups io/wup
> errors
> kio 0 i 14.9 53953390 49341600 4611790 0 98018524 0.6
> 0
> kio 1 i 15.0 54313963 50502783 3811180 0 105838388 0.5
> 0
> msc 0 i 0.5 1945150 0 0 0 1944998 1.0
> 0
> aio 0 i 0.0 23 5 0 0 16 1.4
> 0
> aio 1 i 0.0 18 2 2 0 13 1.4
> 0
> aio 2 i 0.0 2 0 0 0 1 2.0
> 0
> aio 3 i 0.0 2 0 0 0 1 2.0
> 0
> aio 4 i 0.0 2 0 0 0 1 2.0
> 0
> aio 5 i 0.0 2 0 0 0 1 2.0
> 0
> aio 6 i 0.0 2 0 0 0 1 2.0
> 0
> aio 7 i 0.0 1 0 0 0 1 1.0
> 0
> aio 8 i 0.0 1 0 0 0 1 1.0
> 0
> aio 9 i 0.0 0 0 0 0 1 0.0
> 0
> aio 10 i 0.0 0 0 0 0 1 0.0
> 0
> aio 11 i 0.0 0 0 0 0 1 0.0
> 0
> aio 12 i 0.0 0 0 0 0 1 0.0
> 0
> aio 13 i 0.0 0 0 0 0 1 0.0
> 0
> aio 14 i 0.0 0 0 0 0 1 0.0
> 0
> aio 15 i 0.0 0 0 0 0 1 0.0
> 0
> aio 16 i 0.0 0 0 0 0 1 0.0
> 0
> aio 17 i 0.0 0 0 0 0 1 0.0
> 0
> pio 0 i 0.0 0 0 0 0 1 0.0
> 0
> lio 0 i 0.0 0 0 0 0 1 0.0
> 0
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #
Paul Watson wrote:
> you've got 2 kio 'cos you've got two cpus, I suspect that NUMAIO
> is one and the rest of the aio tally across to the gfd, I'd expect
> onstat -g iof to show the path to the various chunks.>
> I think this looks fine.
>
> Fire out your
> ONCONFIG file,
> onstat -R,
> onstat -p,
> onstat -F,
> onstat -m,
> onstat -l>
> outputs
OK, here goes:
#onstat -R
Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
days 19:41:36 -- 206848 Kbytes
8 buffer LRU queue pairs priority levels
# f/m pair total % of length LOW MED_LOW MED_HIGH HIGH
0 f 750 99.7% 748 0 703 44 1
1 m 0.3% 2 0 2 0 0
2 f 750 99.7% 748 0 680 67 1
3 m 0.3% 2 0 2 0 0
4 f 750 99.9% 749 0 683 66 0
5 m 0.1% 1 0 1 0 0
6 f 749 99.9% 748 0 675 71 2
7 m 0.1% 1 0 1 0 0
8 f 750 100.0% 750 0 682 66 2
9 m 0.0% 0 0 0 0 0
10 f 750 99.9% 749 0 662 86 1
11 m 0.1% 1 0 1 0 0
12 f 750 99.9% 749 0 689 57 3
13 m 0.1% 1 0 1 0 0
14 F 748 99.7% 746 0 682 63 1
15 m 0.3% 2 0 2 0 0
10 dirty, 5997 queued, 6000 total, 8192 hash buckets, 2048 buffer size
start clean at 10% (of pair total) dirty, or 75 buffs dirty, stop at 5%
0 priority downgrades, 0 priority upgrades
# onstat -p
Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
days 19:41:40 -- 206848 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
773582188 4498910 6814835840 88.65 8628020 4776297 60669442 85.78
isamtot open start read write rewrite delete commit
rollbk
1213151609 112956510 115063966 306347991 7323816 7478866 5327145
8700484 5256
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 360423.91 15745.53 12043 24092
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
16101291 96 8730222898 0 0 2599 1199597 898741
ixda-RA idx-RA da-RA RA-pgsused lchwaits
559667 6405 769988448 770028761 1263960
# onstat -F
Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
days 19:41:47 -- 206848 Kbytes
Fg Writes LRU Writes Chunk Writes
0 559254 478152
address flusher state data
1217d818 0 I 0 = 0X0
1217e008 1 I 0 = 0X0
states: Exit Idle Chunk Lru
# onstat -m
Informix Dynamic Server 2000 Version 9.21.FC2 -- On-Line -- Up 41
days 19:41:52 -- 206848 Kbytes
Message Log File: /informix/online1.log
15:28:56 Fuzzy Checkpoint Completed: duration was 0 seconds, 57buffers not flushed.
15:28:56 Checkpoint loguniq 5730, logpos 0xfc204
15:33:40 Logical Log 5730 Complete.
15:33:41 Process exited with return code 142: /bin/sh /bin/sh -c/informix/etc/log_full.sh 2 23 "Logical Log 5730 Complete." "Logical Log
5730 Complete."
15:33:56 Fuzzy Checkpoint Completed: duration was 0 seconds, 58buffers not flushed.
15:33:56 Checkpoint loguniq 5731, logpos 0x3420c
15:38:56 Fuzzy Checkpoint Completed: duration was 0 seconds, 60buffers not flushed.
15:38:56 Checkpoint loguniq 5731, logpos 0x4921c
15:43:56 Fuzzy Checkpoint Completed: duration was 0 seconds, 61buffers not flushed.
15:43:56 Checkpoint loguniq 5731, logpos 0x6e224
15:48:56 Fuzzy Checkpoint Completed: duration was 0 seconds, 4 buffersnot flushed.
15:48:56 Checkpoint loguniq 5731, logpos 0x8305c
15:53:56 Fuzzy Checkpoint Completed: duration was 0 seconds, 4 buffersnot flushed.
15:53:56 Checkpoint loguniq 5731, logpos 0x9805c
# cat /informix/etc/onconfig.online1
#**************************************************************************
#
# INFORMIX SOFTWARE, INC.
#
# Title: onconfig.online1
# Description: INFORMIX-OnLine Configuration Parameters
#
#
#**************************************************************************
# Root Dbspace Configuration
ROOTNAME online1dbs # Root dbspace name
ROOTPATH /dev/rootdbs #Path for device containing root dbspace
ROOTOFFSET 16 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 200000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirrored root
MIRROROFFSET 16 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS physical_log_dbs # Location (dbspace) of physical log
PHYSFILE 50000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 20 # Number of logical log files
LOGSIZE 5000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /informix/online1.log # System message log file path
CONSOLE /informix/online1console.log # System console message path
ALARMPROGRAM /informix/etc/log_full.sh # Alarm program path
# System Archive Tape Device
TAPEDEV /dev/rmt/0 # Tape device path
TAPEBLK 64 # Tape block size (Kbytes)
TAPESIZE 12000000 # Maximum amount of data to put on tape
(Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 64 # Log tape block size (Kbytes)
LTAPESIZE 12000000 # Max amount of data to put on log tape
(Kbytes)
# Optical
STAGEBLOB # INFORMIX-OnLine/Optical staging area
# System Configuration
SERVERNUM 1 # Unique id corresponding to a OnLineinstance
DBSERVERNAME online1dbs # default database server
DBSERVERALIASES # List of alternate dbservernames
NETTYPE ipcshm,1,50,CPU # Overide sqlhosts nettype parameters
DEADLOCK_TIMEOUT 60 # Max time to wait of lock indistributed env.
RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR 1 # 0 for single-processor, 1 formulti-processor
NUMCPUVPS 2 # Number of user (cpu) vps
You've got virutally no buffers, only 6000. Without knowing
how much memory you have in the box I look at running this to 50000,
or even 100000 and see what happens
I'd set the tapeblk to 1024 instead of 16
Do you really want your logs to be thrown way? ltapedev = /dev/null
I'd set lru = cleaners = 127
restart and see what the users think
Tugger wrote:
>
> Paul Watson wrote:
>
> > you've got 2 kio 'cos you've got two cpus, I suspect that NUMAIO
> > is one and the rest of the aio tally across to the gfd, I'd expect
> > onstat -g iof to show the path to the various chunks.> >
> > I think this looks fine.
> >
> > Fire out your
> > ONCONFIG file,
> > onstat -R,
> > onstat -p,
> > onstat -F,
> > onstat -m,
> > onstat -l> >
[cutting]
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #
Related threads
- Posting from the Informix-list
- Migrating from IDS 9.40.UC6 to 11.50.UC3
- Ip for a network session
- questions onstat -g