16.12.2009 17:57, Ilya Evseev пишет: > Добрый день! > Имеется сервер Core2Duo с ALTLinux 5.0, сетевые карты 2*BCM5721, > драйвер tg3. > Используется как шлюз+NAT, весь лишний софт убран. > Планируемая нагрузка - сотни мегабит (в идеале до гигабита). > > Вопрос: что можно оптимизировать в sysctl, опциях загрузки и т.д., > чтобы увеличить быстродействие? > > Сейчас сделан самый минимум: > 1) lan- и wan-интерфейсы разнесены по разным сетевым картам, > > 2) карты через smp_affinity разнесены по разным ядрам (eth0 - cpu2, > eth1 - cpu1): > # grep -i eth /proc/interrupts > 2299: 57472419 0 0 420993090 PCI-MSI-edge eth1 > 2300: 36060621 0 357324525 0 PCI-MSI-edge eth0 Недавно столкнулся с tg3. Очень не хороший драйвер. На хорошей скорости (2 карточки в бондинге всего 4 карточки) одно ядро на котором он висит не справлялось. Поэтому пришлось все сетевухи заменить на интел с e1000e которое использует все ядра одновременно. > 3) sysctl: > net.ipv4.netfilter.ip_conntrack_max = 1048576 > net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1800 > > Текущая нагрузка около 180mbps на приём и 100mbps на передачу, > 30kpps, ip_conntrack_count = 126550 (постепенно растёт), > cpu2 и cpu3 загружены на 40-50%. Боюсь из NAT больше будет сложно выжать. На 80kpps приходится просто отключать contrack т.к. не справляется и 100% загрузка одного ядра проца (ну и задачи немного другие) -- WBR, Dubrovskiy Vyacheslav