... # Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям) # Отсутствие возможности задания coalesce-параметров, нам важен rx-usecs, за счёт его уменьшения можно снизить нагрузку с сетевой карты, увеличив нагрузку на процессор. # Отсутствие поддержки NAPI драйвером. h2. Intel * 82541GI Gigabit Ethernet Controller (rev 05) * 82541PI Gigabit Ethernet Controller (rev 05) * 82574L Gigabit Network Connection * 82540EM Gigabit Ethernet Controller (rev 03) * 82545EM * 82579LM * 82571EB Gigabit Ethernet Controller (rev 06) * 82573L Gigabit Ethernet Controller * 82573E Gigabit Ethernet Controller (rev 03) * 82578DC Gigabit Network Connection (rev 06) * 82546EB Gigabit Ethernet Controller (rev 01) * 82546GB Gigabit Ethernet Controller (rev 03) * I219-V (rev 31) * I217 Хоть мы и рекомендуем Intel, но конкретно эти модели брать не советуем. Только одна очередь, в итоге всем будет заниматься только одно ядро процессора. Для рабочей станции подходит, но для сервера фильтрации - не очень. Если используете, но не выходит поменять, а с ним начали возникать проблемы с зависаниями - [может помочь статья|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=65799130]. h2. Broadcom * Broadcom Corporation NetXtreme BCM5701 * Broadcom Corporation NetXtreme BCM5704 * Broadcom Corporation NetXtreme BCM5715 * Broadcom Corporation NetXtreme BCM5719 - периодически появляются dropped / missed на 256 mbit/s. * Broadcom Corporation NetXtreme BCM5721 * Broadcom Corporation NetXtreme BCM5722 * Broadcom Corporation NetXtreme II BCM5708 * Broadcom Corporation NetXtreme II BCM5709 - несмотря на наличие нескольких очередей RSS может начать работать только на одной из них, создавая высокую нагрузку на единственное работающее ядро * Broadcom Corporation NetXtreme II BCM5716 , поддерживает распределение прерываний на доступные ядра, но основную массу пакетов всё равно оставляет на нулевом ядре. h2. Разное * VIA Technologies, Inc. VT6105/VT6106S \[Rhine-III\] (rev 86) * Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet * Qualcomm Atheros AR8131 Gigabit Ethernet * Qualcomm Atheros AR8132 Fast Ethernet * Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet (rev c0) * 3Com Corporation 3c905C-TX/TX-M \[Tornado\] * Red Hat, Inc Virtio network device * Marvell Technology Group Ltd. 88E8057 PCI-E Gigabit Ethernet Controller * Marvell Technology Group Ltd. 88E8050 PCI-E ASF Gigabit Ethernet Controller * QLogic Corp. cLOM8214 1/10GbE Controller (rev 54) - [не работает изменение числа очередей, из коробки 3rx, 1rxtx|https://github.com/strizhechenko/netutils-linux/tree/master/examples/sockets_2_cpus_48_nic_2#commands]. * Сетевые карты NC326i h2. NVIDIA * Corporation MCP55 Ethernet (rev a3) Проблемы: * только одна очередь * при указании диапазона ядер smp_affinity_list использует только первое ядро (плохой драйвер) * нет возможности указывать coalesce параметры. В результате даже при небольшом объёме трафика даёт очень высокую нагрузку на ядро процессора, которое занимается обработкой трафика с этой сетевой карты что приводит к неприемлемо медленной обработке пакетов. {code} 29: 360056 0 3486921273 0 PCI-MSI-edge eth1 Pre-set maximums: RX: 16384 Current hardware settings: RX: 2048 Cannot get device coalesce settings: Operation not supported ≈75 mbit/sec 26364 pkts/sec {code} h1. Процессоры h2. Одно\- и двухядерные процессоры Для тестов в локалке офиса - вполне сойдёт, там где от этого зависит наличие/отсутствие штрафов - нет. Мощность процессора - одна из самых важных для Carbon Reductor характеристик сервера. Одно ядро часто приводит к шторму прерываний, а в итоге к потерям. Желательно использовать процессор с современной микроархитектурой (Sandy Bridge и новее) Более того - по умолчанию даже очень мощный процессор с 32 ядрами может использоваться как одноядерный Celeron, если все прерывания висят на 1 ядре. h2. Процессоры AMD Встречались плавающие проблемы, исчезавшие после перехода даже на обычный десктопный Intel Core i3/i5/i7, не говоря о Xeon. h2. Процессоры без L3 кэша Плохо: {code} $ lscpu -e CPU NODE SOCKET CORE L1d:L1i:L2 ONLINE 0 0 0 0 0:0:0 да 1 0 1 1 1:1:1 да 2 0 0 2 2:2:0 да 3 0 1 3 3:3:1 да {code} Хорошо: {code} $ lscpu -e CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE 0 0 0 0 0:0:0:0 да 1 0 0 1 1:1:1:0 да 2 0 0 2 2:2:2:0 да 3 0 0 3 3:3:3:0 да 4 0 0 4 4:4:4:0 да 5 0 0 5 5:5:5:0 да 6 0 0 6 6:6:6:0 да 7 0 0 7 7:7:7:0 да {code} h1. Оперативная память DDR1, DDR2 Частота оперативной памяти - тоже довольно важная вещь в задаче фильтрации трафика. Приблизительные цифры для сравнения: - DDR1 400 MHz - не подходит - DDR2 600 MHz \- не подходит - DDR3 1333-1600 MHz - плохо подходит - DDR4 2133-2800 MHz - подходит - DDR4 2800-3400 Mhz - хорошо подходит Не создавайте из оперативной памяти "бутылочное горлышко". P.S: объём памяти на текущий момент для Carbon Reductor не так важен, как частота. 4-8Gb - адекватный запас на ближайший год.
|