Latest Tunable recommendations for AIX v6 and AIX v5.3
BOTH
NETWORK
no -p -o rfc1323=1
no -p -o sb_max=1310720
no -p -o tcp_sendspace=262144
no -p -o tcp_recvspace=262144
no -p -o udp_sendspace=65536
no -p -o udp_recvspace=655360
Also check the actual NIC interfaces and make sure they are set to at least these values
For AIX v5.3
No need to set memory_affinity=0 after 5.3 tl05
MEMORY
vmo -p -o minperm%=3
vmo -p -o maxperm%=90
vmo -p -o maxclient%=90
vmo -p -o minfree=960
vmo -p -o maxfree=1088
vmo -p -o lru_file_repage=0
vmo -p -o lru_poll_interval=10
The parameters below should be reviewed and changed (see vmstat –v and lvmo –a later)
PBUFS
ioo -p -o pv_min_pbuf=1024
JFS2
ioo -p -o j2_maxPageReadAhead=128
j2_dynamicBufferPreallocation=16
Default that may need tuning
Replaces tuning j2_nBufferPerPagerDevice
JFS
ioo -p -o numfsbufs=1024
ioo -p -o maxpgahead=16
For AIX v6
Make the network changes above
Memory defaults are already correctly set and should not be changed
If you upgrade from a previous version of AIX using migration then you need to check the settings though
The parameters below should be reviewed and changed (see vmstat –v and lvmo –a later)
PBUFS
Tune these using lvmo for the individual volume group
pv_min_pbuf is now a restricted tunable
JFS2
ioo -p -o j2_maxPageReadAhead=128
(default above may need to be changed for sequential)
j2_dynamicBufferPreallocation=16
Default that may need tuning
Replaces tuning j2_nBufferPerPagerDevice
JFS
ioo -p -o numfsbufs=1024 (now restricted)
ioo -p -o maxpgahead=16 (now restricted)
CHANGES TO CONSIDER TO ADAPTERS AND HDISKS
Check to make sure your vendor supports these:
fcs0 etc adapters
init_link pt2pt INIT Link flags True
max_xfer_size 0x200000 Maximum Transfer Size True
num_cmd_elems 2048 Maximum number of COMMANDS to queue to the adapter True
Be careful with init_link as it defaults to AL - this setting is switch and SVC dependent.
Check queue_depth for hdisks - lsattr -El hdisk?
Use iostat -aD to look for sqfull conditions that would indicate the need for an increase in queue_depth
posted at: 22:57 | path: | permanent link to this entry
Latest Set of General Purpose AIX v5.3 Tunables
Please ensure you test these first before implementing in production as your mileage may vary
Network
no -p -o rfc1323=1
no -p -o sb_max=1310720
no -p -o tcp_sendspace=262144
no -p -o tcp_recvspace=262144
no -p -o udp_sendspace=65536
no -p -o udp_recvspace=655360
nfso -p -o rfc_1323=1
nfso -p -o nfs_socketsize=600000
nfso -p -o nfs_tcp_socketsize=600000
Memory Settings
vmo -p -o minperm%=5
vmo -p -o maxperm%=90
vmo -p -o maxclient%=90
vmo -p -o minfree=1000
vmo -p -o maxfree=1200
vmo -p -o lru_file_repage=0
vmo -p -o lru_poll_interval=10
Leave strict_maxperm and strict_maxclient at their defaults
IO Settings
Leave minpgahead and J2_minPageReadAhead at their defaults of 2
ioo -p -o j2_maxPageReadAhead=128
ioo -p -o maxpgahead=16
ioo -p -o j2_nBufferPerPagerDevice=1024
ioo -p -o hd_pbuf_cnt=1024
ioo -p -o numfsbufs=2048
ioo -p -o pv_min_pbuf=1024
#### this is the 5.3 value - below is the one for 5.2
### ioo -p -o pv_min_pbuf=1024
If doing lots of raw I/O you may want to change lvm_bufcnt
Default is 9
ioo -p -o lvm_bufcnt=12
Others left to default that you may want to tweak include:
ioo -p -o numclust=1
ioo -p -o j2_nRandomCluster=0
ioo -p -o j2_nPagesPerWriteBehindCluster=32
ioo -p -o j2_maxRandomWrite=32
ioo -p -o maxrandwrt=32
These are starting points only
Other areas to look at tuning:
Fiber cards
Check out max_xfer_size - 0x100000 is 16mb dma, 0x200000 is 128mb dma
For heavy I/O you may want to change this to 128mb
hdisks
Check out queue_depth. If seeing sqfull on iostat -D then
increase queue_depth if your disk subsystem allows it
posted at: 09:48 | path: | permanent link to this entry
2/8/2007 AIX v5.3 Links to get perfscript and instructions
Script to gather data
http://www.circle4.com/jaqui/perfdata53-latest.sh.txt
Instructions for script and nmon
http://www.circle4.com/jaqui/perf-script-instructions.txt
posted at: 18:18 | path: | permanent link to this entry
2/8/2007 AIX v5.3 Tunables Update
When making tunable changes please be sure to test them first.
1. Please be careful when setting lru_file_repage. If you are asked to change this value
from the default (which you should) please ensure you first set maxperm and maxclient back to 80%
2. I do want to mention that a couple of the parameters may not work well with certain workloads, specifically maxrandwrt and maxpgahead. The situation where I saw a problem was very application specific (Topform and Providex) but try it both ways.
I normally set them for JFS and JFS2 as follows:
ioo -p -o j2_maxPageReadAhead=128
ioo -p -o maxpgahead=16
ioo -p -o j2_maxRandomWrite=32
ioo -p -o maxrandwrt=32
However, you may be better to leave them at the defaults:
ioo -p -o j2_maxPageReadAhead=128
ioo -p -o maxpgahead=8
ioo -p -o j2_maxRandomWrite=0
ioo -p -o maxrandwrt=0
posted at: 18:07 | path: | permanent link to this entry
2/8/2007 General Purpose AIX v5.2 at >ML4 Tunables
Current recommended AIX v5.2 ML4 Performance Parameters:
Please ensure you test these first before implementing in production as your mileage may vary
Network
no -p -o rfc1323=1
no -p -o sb_max=1310720
no -p -o tcp_sendspace=262144
no -p -o tcp_recvspace=262144
no -p -o udp_sendspace=65536
no -p -o udp_recvspace=655360
nfso -p -o rfc_1323=1
nfso -p -o nfs_socketsize=600000
nfso -p -o nfs_tcp_socketsize=600000
Memory Settings
vmo -p -o minperm%=5
Leave maxperm and maxclient at default of 80
Leave strict_maxperm and strict_maxclient at their defaults
vmo -p -o minfree=960
vmo -p -o maxfree=1088
vmo -p -o lru_file_repage=0
vmo -p -o lru_poll_interval=10
IO Settings
Leave minpgahead and J2_minPageReadAhead at their defaults of 2
ioo -p -o j2_maxPageReadAhead=128
ioo -p -o maxpgahead=16
ioo -p -o j2_maxRandomWrite=32
ioo -p -o maxrandwrt=32
ioo -p -o j2_nBufferPerPagerDevice=1024
ioo -p -o hd_pbuf_cnt=1024
#### this is the 5.3 value - above is the one for 5.2
### ioo -p -o pv_min_pbuf=1024
ioo -p -o numfsbufs=2048
If doing lots of raw I/O you may want to change lvm_bufcnt
Default is 9
ioo -p -o lvm_bufcnt=12
Others left to default that you may want to tweak include:
ioo -p -o numclust=1
ioo -p -o j2_nRandomCluster=0
ioo -p -o j2_nPagesPerWriteBehindCluster=32
These are starting points only
posted at: 18:06 | path: | permanent link to this entry
2/8/2007 General Purpose AIX v5.3 Tunables
Current recommended AIX v5.3 Performance Parameters:
Please ensure you test these first before implementing in production as your mileage may vary
Network
no -p -o rfc1323=1
no -p -o sb_max=1310720
no -p -o tcp_sendspace=262144
no -p -o tcp_recvspace=262144
no -p -o udp_sendspace=65536
no -p -o udp_recvspace=655360
nfso -p -o rfc_1323=1
nfso -p -o nfs_socketsize=600000
nfso -p -o nfs_tcp_socketsize=600000
Memory Settings
vmo -p -o minperm%=5
Leave maxperm and maxclient at default of 80
Leave strict_maxperm and strict_maxclient at their defaults
vmo -p -o minfree=960
vmo -p -o maxfree=1088
vmo -p -o lru_file_repage=0
vmo -p -o lru_poll_interval=10
IO Settings
Leave minpgahead and J2_minPageReadAhead at their defaults of 2
ioo -p -o j2_maxPageReadAhead=128
ioo -p -o maxpgahead=16
ioo -p -o j2_maxRandomWrite=32
ioo -p -o maxrandwrt=32
ioo -p -o j2_nBufferPerPagerDevice=1024
ioo -p -o pv_min_pbuf=1024
ioo -p -o numfsbufs=2048
If doing lots of raw I/O you may want to change lvm_bufcnt
Default is 9
ioo -p -o lvm_bufcnt=12
Others left to default that you may want to tweak include:
ioo -p -o numclust=1
ioo -p -o j2_nRandomCluster=0
ioo -p -o j2_nPagesPerWriteBehindCluster=32
These are starting points only
posted at: 17:35 | path: | permanent link to this entry
Using and Obtaining nmon
Nmon is available for AIX and Linux (x86 and Power)
Download the latest nmon for AIX v5.3 from
http://www-941.ibm.com/collaboration/wiki/display/WikiPtype/nmon
You will need to gunzip it and untar it
I untar it to /usr/local/perf
Then run nmon_aix53 as follows:
cd /usr/local/perf
nmon_aix53 -fT -c 30 -s 240
This will cause nmon to run for about 2 hours gathering data - the output will be put in /usr/local/perf
Once it is finished (check using ps -ef | grep nmon) then use nmon analyzer and MS Excel to analyze the output
nmon analyser can be found at:
http://www-128.ibm.com/developerworks/eserver/articles/nmon_analyser/index.html
or
http://www-941.haw.ibm.com/collaboration/wiki/display/WikiPtype/nmonanalyser
You can find out more about nmon at Nigel Griffiths' online workshop at:
http://www-941.ibm.com/collaboration/wiki/display/WikiPtype/nmon+Introduction+Workshop
posted at: 22:07 | path: | permanent link to this entryWed, 19 Apr 2006
Welcome to my Blog. As I have time I will put updates on various technical issues here for you to check out. If you have questions, feel free to email me and I will either answer them here or I will answer them via my column in IBM's Systems Magazine for pSeries (used to be eServer for UNIX),
posted at: 13:43 | path: | permanent link to this entry