| Blogs | Classifieds | Downloads | FlashChat | Gallery | Googlemap | Invite Friends | Links | Projects | Reviews | Wiki |
| |||||||||
Welcome to the pSeries Tech Forums,
our free peer-based support site for administrators, engineers and architects working with IBM pSeries servers and software. You are currently viewing our site as a guest which gives you limited access to view most discussions, articles, tutorials and access our other free features. By joining our community you will be able to collaborate with administrators, engineers and architects charged with designing, delivering or maintaining IBM pSeries server environments. Founded by a recognized IBM pSeries consultant and IBM Redbook author, pSeries Tech Forums was developed with the single mission of bringing IBM pSeries professionals together into a single self-help community. Registration is fast, simple and absolutely free to all IT professionals with responsibility for or interest in IBM pSeries servers. We invite you to join our community today! If you have any problems with the registration process or your account login, please contact contact support. |
| Our Sponsors | |
| | |
| Want to advertise? | |
![]() |
| | LinkBack | Thread Tools |
|
#1
| ||||
| ||||
Hi, I have come accross aio and asynchronous however don't fully understand the methology. I have a p520 with 2 dual core cpu and 4 x disk mirrorred and a raid array attached with a further 16 disk unconfigured. I have the defualt settings ofminservers=1 and maxservers=10 but not sure how to determine the correct setting for my server The server being used to install oracle db and apps. vmstat shows wa less than 25% and I currently have the following aio servers running: --> pstat -a | egrep ' aioserver' | wc -l 40 root on IBM100:/ --> pstat -a | grep posix_aioserver 32 a 200a0 1 200a0 0 0 1 posix_aioserver so how do I determine the correct config? thanks man. Chris. |
|
#2
| ||||
| ||||
Lets start with the different types of I/O schemes: Synchronous I/O - Everytime Oracle requests the OS to perform a database write, the process waits for the OS to complete the write to disk before continuing to process. Asynchronous I/O - Oracle hands off the I/O to the OS and continues processing. The OS sends a completion request to the process when the I?O has been completed on its behalf. You will also see the term "direct I/O". This is not an access method, like the two terms above, but rather a tuning option to make all I/Os, sync and aysnc, better performing when the database resides on a filesystem as opposed to raw devices. Most filesystems, and definitely AIX, do some type of filesystem buffering. Oracle also utilizes I/O buffer cache. We call this condition "double buffering", an inefficient use of system resources. When direct I/O is enabled, AIX bypasses filesystem cache, transfers data directly to/from the disk to/from Oracle's buffer cache. I'll post more on AIO tuning tomorrow.
__________________ To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. Fred Sherman IBM pSeries and Storage Architect |
|
#3
| ||||
| ||||
Okay, lets continue with the number of AIO servers. The reason you have 40 of them is because maxservers is applied on a per CPU bases. If maxservers = 10 and you have 4 CPUs, then you'll have 40 AIO servers. I take it from your post that you don't know what the volume of your async I/O is but, since you're runiing Oracle, async I/O is important to good performance. The rule of thumb is to set maxservers to the number of disks access async - in other words, the number of disks used by Oracle, multiplied by 10. Lets assume you have an Oracle volume group with six physical disks assigned to it - regardless of whether mirrored or not. You would want to set maxservers=60. Now you decide to create a RAID 5 array from your storage device w/ 14 data disks, 1 parity disk and 1 hot spare. You create 4 LUNs. Your AIX server now has 4 new hdisks. How many AIOs do you add: 40, 140 or 150? The answer is 140, 10 times the number of physical devices you're adding. So maxservers = 180. And how many AIO servers should you actually have active on your system? 4 * 180, or 640 AIO servers. Remember, this only matters if your Oracle database is filesystem based. If your database resides on raw logical volumes, then AIO offers you very little benefit.
__________________ To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. Fred Sherman IBM pSeries and Storage Architect |
|
#4
| ||||
| ||||
nice one!! this has helped no end. And the number of AIO servers running will be 4 * 180.
__________________ what no windows, We want Unix! To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. |
|
#6
| ||||
| ||||
not sure what you are asking? we have oracle configured to run on filesystems therefore have an oracle VG on the system: --> lsvg -l datavg datavg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT loglv00 jfs2log 1 1 1 open/syncd N/A fslv00 jfs2 1024 1024 2 open/syncd /oradata fslv01 jfs2 278 278 1 open/syncd /app/oracle fslv02 jfs2 1200 1200 3 open/syncd /oracle/crp1 fslv03 jfs2 640 640 2 open/syncd /oracle/sia78
__________________ what no windows, We want Unix! To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. |
|
#7
| ||||
| ||||
Ours are name rg0_vg through rg8_vg. I guess with the lsvg command I can eventually get to the right one (thanks that was helpful). Does it hurt to have the different parts spread out ( index, temp, redo, workspace, etc) over different vgs? |
|
#8
| ||||
| ||||
Hmmm. I'm running a small OLTP Informix database (40 gig) against a DS4300 and I've only got one aioserver running # pstat -a | egrep 'aioserver' | wc -l 1 OTOH, I've no real wait problems. System configuration: lcpu=16 mem=8191MB ent=2.00 kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------------------- r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 6 0 1132506 563221 0 0 0 0 0 0 2732 70428 27946 58 30 12 0 3.62 180.9 7 0 1130121 565596 0 0 0 0 0 0 2862 258133 22578 61 28 11 0 3.51 175.3 6 0 1130081 565627 0 0 0 0 0 0 1895 68311 27112 59 29 12 0 3.47 173.7 6 0 1130212 565487 0 0 0 0 0 0 2249 163425 24999 56 31 13 0 3.37 168.3 8 0 1132209 563475 0 0 0 0 0 0 2606 89374 26184 60 29 11 0 3.55 177.6 7 0 1132437 563242 0 0 0 0 0 0 3039 141354 26596 59 29 12 0 3.54 176.8 8 0 1131557 564115 0 0 0 0 0 0 3009 89020 26079 59 30 12 0 3.48 173.9 9 0 1131228 564393 0 0 0 0 0 0 3562 66818 18498 69 23 8 0 3.75 187.3 7 0 1130138 565566 0 0 0 25 92 0 3877 131415 24682 61 28 11 0 3.64 182.0 So I'm guessing at this point, the caching in the DS4300 is responsible the the zero wait times. Informix likes KAIO, and works well with it. I've been running with it since AIX 4.3.3 and Informix 7.23. Dave |
|
#9
| ||||
| ||||
Yep, caching always helps AIO since the DS4300 acknowledges the write as complete at cache and not at the device.
__________________ To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. Fred Sherman IBM pSeries and Storage Architect |
|
#10
| ||||
| ||||
Quote:
The PVID you are probably not really interested in but lspv is a quick way to figure out which disk is in which volume group. There may be command line options to lspv as well -- not sure.
__________________ To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. |
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| |