Since MAXPHYS now allows the FreeBSD NFS client
to do 1Mbyte I/O operations, add a sysctl so that the
maximum NFS server I/O size can be set up to 1Mbyte.
The Linux NFS client can also do 1Mbyte I/O operations.
The default of 128Mbytes for the maximum I/O size has
not been changed for two reasons:
- kern.ipc.maxsockbuf must be increased to support 1Mbyte I/O
- The limited benchmarking I can do actually shows a drop in I/O rate when the I/O size is above 256Kbytes. (See Test Plan).
I do believe that using a 1Mbyte I/O size can improve performance
but I do not have the hardware needed to benchmark this.
One example case might be a WAN with a large bandwidth X delay,
which needs several Mbytes of data to be in transit to fill the network
pipe. (1Gbps X 40msec --> 4Mbytes --> 1Mbyte * 4 readaheads)
By adding this sysctl, hopefully others can test/benchmark 1Mbyte I/O.