I have a Solaris 10 server with a Mac OS X clients on a gigabit LAN. The Solaris server exports a RAID-Z backed NFS share and all the clients connect to it. However, transferring files is slower than I think it should be. I enabled jumbo frames and that increased my maximum throughput from 18MB/s to 30MB/s but that's still slower than I think it should be. I think the current bottleneck is my switch, which doesn't seem to be able to switch as many packets per second as my machines can send. Also, both machines use about 30 - 40% CPU for the transfers.
Other than replacing the switch, which I plan to do, what can I do to decrease CPU usage and increase throughput?