Detailed network device-driver statistics by device

The netpmon command can produce a report that displays detailed network device-driver statistics for each device in a network.

The output fields are described as follows:

DEVICE
Path name of special file associated with device
recv packets
Number of packets received through this device
recv sizes (bytes)
Size statistics for received packets
recv times (msec)
Response time statistics for processing received packets
demux times (msec)
Time statistics for processing received packets in the demux layer
xmit packets
Number of packets transmitted through this device
xmit sizes (bytes)
Size statistics for transmitted packets
xmit times (msec)
Response time statistics for processing transmitted packets

There are other detailed reports, such as Detailed Network Device-Driver Transmit Statistics (by Host) and Detailed TCP Socket Call Statistics for Each Internet Protocol (by Process). For an NFS client, there are the Detailed NFS Client Statistics for Each Server (by File), Detailed NFS Client RPC Statistics (by Server), and Detailed NFS Client Statistics (by Process) reports. For an NFS server, there is the Detailed NFS Server Statistics (by Client) report. They have similar output fields as explained above.

In the example, the results from the Detailed Network Device-Driver Statistics lead to the following:

  • recv bytes = 33003 packets * 73.2 bytes/packet = 2,415,819.6 bytes
  • xmit bytes = 61837 packets * 1514 bytes/packet = 93,621,218 bytes
  • total bytes exchanged = 2,415,819.6 + 93,621,218 = 96,037,037.6 bytes
  • total bits exchanged = 96,037,037.6 * 8 bits/byte = 768,296,300.8 bits
  • network speed = 768,296,300.8 / 8.54 = 89,964,438 bits/sec (approximately 90 Mbps) - assuming the NFS copy took the whole amount of tracing
As in the global device driver report, you can conclude that this case is almost network-saturated. The average receive size is 73.2 bytes, and reflects the fact that the NFS server which was traced, received acknowledgements for the data it sent. The average send size is 1514 bytes, which is the default MTU (maximum transmission unit) for Ethernet devices. interface, replacing interface with the interface name, such as en0 or tr0, you could change the MTU or adapter transmit-queue length value to get better performance with the following command:
# ifconfig tr0 mtu 8500
or
# chdev -l 'tok0' -a xmt_que_size='150'

If the network is congested already, changing the MTU or queue value will not help.

Note:
  1. If transmit and receive packet sizes are small on the device driver statistics report, then increasing the current MTU size will probably result in better network performance.
  2. If system wait time due to network calls is high from the network wait time statistics for the NFS client report, the poor performance is due to the network.