先日、「NAS4Freeでファイルサーバを構築しました」で、NAS4Freeでファイルサーバを構築してジャンボフレームでベンチマークを取ったのですが、肝心のクライアントPCのNICがジャンボフレームOFFだったので、MTUを9KBに再設定してベンチマークを取り直しました。
クライアントPC環境
CPU:Celeron 1007u
HDD:SATA80GB
MEM:8GB
LAN:1Gbps
![SequentialRead(Q=32,T=1):120.850MB/s, SequentialWrite(Q=32,T=1):32.717MB/s, RandomRead4KiB(Q=32,T=1):25.804MB/s[6299.8IOPS], RandomWrite4KiB(Q=32,T=1):13.723MB/s[3350.3IOPS], SequentialRead(T=1):106.752MB/s, SequentialWrite(T=1):32.508MB/s, RandomRead4KiB(Q=1,T=1):8.656MB/s[2113.3IOPS], RandomWrite4KiB(Q=1,T=1):8.608MB/s[2101.6IOPS]](../picture/20170218-1.png)
ちなみに巷でよく言われる「CPUで処理せずにNICに処理を肩代わりさせる機能がかえって足かせになる」ということについても検証してみました。
今回は以下の5項目をDisableにしています。
- IPv4 Checksum Offload
- Large Send Offload v4 (IPv4)
- Large Send Offload v4 (IPv6)
- TCP Checksum Offload (IPv4)
- TCP Checksum Offload (IPv6)
![SequentialRead(Q=32,T=1):121.235MB/s, SequentialWrite(Q=32,T=1):32.809MB/s, RandomRead4KiB(Q=32,T=1):27.279MB/s[6659.9IOPS], RandomWrite4KiB(Q=32,T=1):16.686MB/s[4073.7IOPS], SequentialRead(T=1):106.744MB/s, SequentialWrite(T=1):32.508MB/s, RandomRead4KiB(Q=1,T=1):8.488MB/s[2072.3IOPS], RandomWrite4KiB(Q=1,T=1):8.609MB/s[2101.8IOPS]](../picture/20170218-2.png)
スイッチングHUBをMTU9KBにした時ほどの劇的な変化はありませんが、それでもパフォーマンスは伸びています。
元々、OffloadをDisableにすることでCPU処理になるので、ハイパワーなCPUを搭載しているともう少し値が伸びるかもしれません。
とはいえ、やっぱり地道なチューニングは大切ですね。