

And don’t forget to check errpt as many problems show up there. You can check what it’s set to using “lsattr –EL ent?”.Īdditionally you should look for receive or transmit errors, DMA overruns and DMA underruns. Look for “S/W transmit queue overflow”-if you see these or “packets dropped due to memory allocation failure”, you must increase the adapter transmit queue. nmon provides great statistics the –O flag now provides network statistics on the SEA, which is very useful. Several commands are useful when looking at network performance. Setting tcp_nodelay to 1 is a dynamic change and a tradeoff between more network traffic versus better response time.
#TRANSMIT BUFFERS FULL#
Clearly this causes delays in sending further packets until either the acknowledgement is received or TCP can bundle up more data into a full segment. The nagle algorithm means that a TCP connection can only have one outstanding acknowledgement for a small segment. Normally, TCP implements delayed acknowledgements, where it tries to piggyback a TCP acknowledgement onto a response packet this delay is usually up to 200ms. Setting this to 1, instead of the default 0, causes TCP to send each packet out immediately for each application send or write.

tcp_recvspace specifies how many bytes of data the receiving system can buffer in the kernel on the receiving sockets queue.For Gbit adapters: chdev -l ent0 -a txdesc_que_sz=1024 -a tx_que_sz=16384 -Pīoth changes would be activated after a reboot (the –P sets that). The adapter can be set as follows: chdev -l en0 -a tcp_recvspace=262144 –a tcp_sendspace=262144 –a rfc1323=1 –Pĭepending on the load (I do this for the base adapters on my SEAs but also on busy systems), you may want to increase the adapter transmit queues. If the TCP send, receive and/or rfc1323 is set, they should be changed to match the above, unless the settings on the adapter are larger. You’ll see something like the following: en0: flags=1e080863,480 Check by running the “ifconfig –a” command. These defaults only come into play if nothing has been set on the actual adapter, which is the case for certain (more recent) AIX releases. Typically, you receive about 10 times as many UDP packets as you send, hence the difference in the values. Since DNS and other protocols use UDP, it’s important to increase those values. It’s common to see the TCP values changed but many leave UDP at the defaults. This example sets TCP send and receive buffers to 256K, UDP send to 64K and UDP receive to 640K. The first set is done using the no command. Given that most customers are running GB or 10 GB networks, the first step to improving network performance is to set some basic tunables. By default, the network tunables on an AIX system aren’t set optimally for anything above a 100 MB network.
