Jaqui's AIX Performance and Security Blog

Thu, 04 Sep 2008


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

Mon, 03 Dec 2007


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

Thu, 08 Feb 2007


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

Mon, 29 May 2006


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 entry

Wed, 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