Дополнение к новости от 24 апреля: "В рамках исследовательского проекта Internet2 (объединены около 200 университетов), используя однопоточную организацию канала связи, удалось достигнуть скорости передачи данных (использовался протокол IPv4) примерно 4,62 Гбит/сек. (840 гигабайт за 26 мин.), данные передавались из San Jose (USA) в Женеву (расстояние 16 тыс. километров)".
В качестве конечных машин использовались два Dell 2650 (2GHz Xeon CPU, 512 Mb ОЗУ, сетевой адаптер Intel PRO/10GbE LR) сервера с операционной системой NetBSD 2.0 Beta (апрельский снапшот), передача данных осуществлялась при помощи утилиты ttcp. См. Подробное описание экспермента, сайт проекта - lsr.internet2.edu
Тюнинг конфигурации NetBSD:
Ядро:
options MCLSHIFT=12 # Increase MBUF-cluster size to 4k.
options NMBCLUSTERS=65536 # Increase number of buffers.
Sysctl:
net.inet.tcp.init_win=30000 # Tune TCP startup time
kern.sbmax=300000000 # Max memory a socket can use, 300MB
kern.somaxkva=300000000 # Max memory for all sockets togeather, 300MB
net.inet.tcp.sendspace=150000000 # Size if transmit window, 150MB
net.inet.tcp.recvspace=150000000 # Size of receive window, 150MB
net.inet.ip.ifq.maxlen=20000 # Max length of interface queue
Ifconfig:
ifconfig dge0 10.0.0.1/30 ip4csum tcp4csum udp4csum link0 link1 mtu 4470 up
где
ip4csum, tcp4csum, udp4csum - Enable hardware checksums
link0, link1 - Set PCI-X burst size to 4k.
Тюнинг конфигурации Linux 2.6 и 2.4:
# set mmrbc to 4k reads, modify only Intel 10GbE device ID
setpci -d 8086:1048 e6.b=2e
ifconfig eth2 mtu 9000 txqueuelen 50000 up
Sysctl:
net.ipv4.tcp_timestamps = 0 # default 1, reduces CPU use
net.ipv4.tcp_sack = 0 # turn SACK support off, default on
net.ipv4.tcp_rmem = 10000000 10000000 10000000 # sets
net.ipv4.tcp_wmem = 10000000 10000000 10000000 # sets min/pressure/max TCP write buffer,
# default 4096 16384 131072
net.ipv4.tcp_mem = 10000000 10000000 10000000 # sets min/pressure/max TCP buffer space
# default 31744 32256 32768
net.core.rmem_max = 524287 # maximum receive socket buffer size,default 131071
net.core.wmem_max = 524287 # maximum send socket buffer size,default 131071
net.core.rmem_default = 524287 # default receive socket buffer size, default 65535
net.core.wmem_default = 524287 # default send socket buffer size, default 65535
net.core.optmem_max = 524287 # maximum amount of option memory buffers, default 10240
net.core.netdev_max_backlog = 300000 # number of unprocessed input packets before
# kernel starts dropping them, default 300
Перед соединением вызывалось: sysctl -w net.ipv4.route.flush=1
|