Ilya Evseev Опубликовано 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? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 26 февраля, 2011 (изменено) · Жалоба Обновил 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, и его исчезновение, и сопоставимая с Линуксом производительность без фирмвари. Изменено 26 февраля, 2011 пользователем Ilya Evseev Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...