2007年6月26日火曜日

linux で Gigabit

New Reno では Gbit は辛いらしいと、どこかで目にした後うろうろしていたら
How to achieve Gigabit speeds with Linux
というドキュメントを見付けた。要約してみると
interrupt coalescence (ハードウェアで割り込み回数減らす)
# ethtool -c eth1
Coalesce parameters for eth1:
Cannot get device coalesce settings: Operation not supported
ガーン。他 -k や -g。ethtool(8) 参照

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 件のコメント: