How to achieve Gigabit speeds with Linuxというドキュメントを見付けた。要約してみると
- interrupt coalescence (ハードウェアで割り込み回数減らす)
# ethtool -c eth1
ガーン。他 -k や -g。ethtool(8) 参照
Coalesce parameters for eth1:
Cannot get device coalesce settings: Operation not supported- NAPI対応のドライバ
- 送信キュー長の変更
- ifconfig だけど流行? であれば
ip link set eth1 txqueuelen 2000
あれ? デフォルト ip link ls eth0 で 1000 ある。 - 受信キュー長の変更
sysctl –w sys.net.core.netdev_max_backlog=2000
ちなみにデフォルトは# cat /proc/sys/net/core/netdev_max_backlog
1000- TCP輻輳ウィンドウ 指数増加閾値上限なし
sysctl –w sys.net.ipv4.route.flush=1
こちらは /proc 下のパーミッションがls -l /proc/sys/net/ipv4/route/flush
--w------- 1 root root 0 2007-06-26 22:05 /proc/sys/net/ipv4/route/flush- SACK を無効に
- 競合がない...目一杯自分だけのテストなので
sysctl -w net.ipv4.tcp_sack=0
- TCPバッファサイズの変更
- 上限
- net.core.rmem_max
- net.core.wmem_max
- net.ipv4.tcp_mem
デフォルト値- net.ipv4.tcp_rmem
- net.ipv4.tcp_wmem
で試してないっと...
0 件のコメント:
コメントを投稿