Ilya Evseev Posted February 1, 2011 Posted February 1, 2011 Имеется сервер с двумя встроенными сетевыми картами Broadcom BCM5721 PCI-Express. На приблизительно 600mbps и 100kpps возник следующий эффект: при небольшом увеличении нагрузки пинг скачком увеличивается с 1-2 до 10мс и появляются потери 1-5%. Ядра процессора при этом заняты не полностью, процессорная нагрузка растёт плавно, пропорционально mbps/kpps. Есть подозрение, что это потолок для сетевых карт. iperf с параметрами по умолчанию между двумя одинаковыми соседними серверами показал 450-480 mbps (+60mbps рабочего трафика). Какие ручки крутил (FreeBSD-7.1): 1) coalescing patch для if_bge: http://forum.nag.ru/forum/index.php?showtopic=53447 2) /boot/loader.conf: - kern.hz=2000 и 4000 - hw.bge.rxd=512 3) /etc/sysctl.conf: net.inet.ip.dummynet.io_fast=1 net.inet.ip.fastforwarding=0 net.inet.ip.fw.dyn_buckets=2048 net.inet.ip.dummynet.hash_size=2048 dev.bge.0.rx_coal_ticks=500 dev.bge.0.tx_coal_ticks=10000 dev.bge.0.rx_max_coal_bds=64 dev.bge.0.tx_max_coal_bds=128 dev.bge.0.program_coal=1 dev.bge.1.rx_coal_ticks=500 dev.bge.1.tx_coal_ticks=10000 dev.bge.1.rx_max_coal_bds=64 dev.bge.1.tx_max_coal_bds=128 dev.bge.1.program_coal=1 Статистика: # sysctl net.inet.ip | grep intr_ net.inet.ip.intr_queue_maxlen: 50 net.inet.ip.intr_queue_drops: 0 # sysctl net.isr net.isr.swi_count: 22302955 net.isr.drop: 0 net.isr.queued: 3040 net.isr.deferred: 0 net.isr.directed: -1524784307 net.isr.count: -1533290500 net.isr.direct: 1 # vmstat -i interrupt total rate irq1: atkbd0 198 0 irq14: ata0 58 0 irq19: uhci1+ 276092 1 cpu0: timer 721129049 4032 irq256: bge0 335093609 1873 irq257: bge1 342699102 1916 cpu1: timer 721129198 4032 Total 2120327306 11856 vmstat -z | grep -v ' 0$' выдаёт пустой список. Вопрос: можно ли выжать из данной аппаратной конфигурации больше? Поможет ли увеличение hw.bge.rxd? обновление системы до 8.1? Вставить ник Quote
Ilya Evseev Posted February 26, 2011 Author Posted February 26, 2011 (edited) Обновил FreeBSD 7.1 до 8.2. iperf показал 916 Mbits/sec. На соседней машинке с 7.1+bge coalescing patch - всего 619 Mbits/sec. На первой до обновления результат был похожим. Единственное отличие между машинками - на первой cpu e8500, на второй e7300. UPD. Видимо, виновато обновление драйвера bge между 7.x и 8.x. В Линуксе смена ядра с 2.6.27 на 2.6.32 на шлюзе с broadcom'ами привела к снижению процессорной нагрузки вдвое. Но там драйвер tg3 написан broadcom'ом и использует закрытую фирмварь. А во FreeBSD осталось непонятным и ограничение в 600mbps, и его исчезновение, и сопоставимая с Линуксом производительность без фирмвари. Edited February 26, 2011 by Ilya Evseev Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.