Ну это зависит от количества пользователей. Сотня пользователей в одном бродкаст-домене (L2) — ничего особо страшного. Тысяча — катастрофа, одним бродкаст-пингом можно положить всю сеть. Конечно, активное сетевое оборудование может бороться с штормами, но не стоит делать большие бродкаст-домены, полагаясь только на эту защиту.
Смотря что считать извращением :)
Если Client-VLAN, то для того, чтобы не использовать привязки по MAC.
Если DHCP Option82, то для того, чтобы автоматически выдавать настройки абонентам.
mmx включить стоит. А если есть интерес, то потестить с отключенным mmx и с включенным. Только нужно выбрать ПО, которое mmx активно использует.
-mfpmath=sse заставляет GCC для вычислений с плавающей точкой генерировать инструкции sse.
Это вся заметка. А что можно написать в продолжении? :)
Использование модуля максимально простое: iptables -A FORWARD -m opendpi --protocol -j DROP
Подставить --protocol из списка iptables -m opendpi --help и все.
Параметр InterruptThrottleRate (если значение >100) задает количество прерываний, генерируемых в секунду. Эффект аналогичен заданию значений rx-usecs tx-usecs утилитой ethtool, что является более гибким вариантом, поэтому этот параметр e1000 не описывал. Задержки между прерываниями позволяют снизить нагрузку за счет увеличения задержек обработки трафика. Я рекомендую снижать их как можно сильнее, вплоть до ноля, пока нагрузка в часы пик будет в пределах нормы. Соответственно параметр InterruptThrottleRate повышать, пока нагрузка в пределах нормы.
Один поток Apache делает вот что: получает запрос от клиента, обрабатывает запрос, выдает результат клиенту. Один поток занимается одним клиентом и больше ничем. Т.е. с параметрами, которые Вы привели выше, Apache не сможет обработать более двух клиентов параллельно.
А один поток nginx работает иначе: в бесконечном цикле он пробегается по массиву сокетов, при необходимости считывает/записывает небольшой блок данных из/в сокет(а). Т.е. за каждый цикл он обслуживает сразу кучу клиентов (не более значения опции worker_connections). Это принцип работы poll. epoll работает еще эффективнее, но суть примерно такая же.
Дело в том, что поток Apache занимается лишь одним клиентом — такая архитектура. Поток же nginx в цикле пробегает по коннектам и уделяет каждому понемногу времени. Объясняю своими словами, надеюсь корректно описал суть :)
Преимущество ручного раскидывания — группировка определенных очередей на одном ядре.
А когда на одном из серверов использовал irqbalance — неоднократные кернел паники, после чего он был отключен.
Опция CONFIG_IRQBALANCE отсутствует начиная с версии 2.6.27, т.к. признана устаревшей.
Да, в комментах это не указал, но в статье написал. Увеличивать кэш ARP стоит только тогда, когда столкнетесь с сообщение в dmesg: «Neighbour table overflow».
Если Client-VLAN, то для того, чтобы не использовать привязки по MAC.
Если DHCP Option82, то для того, чтобы автоматически выдавать настройки абонентам.
-mfpmath=sse заставляет GCC для вычислений с плавающей точкой генерировать инструкции sse.
Использование модуля максимально простое:
iptables -A FORWARD -m opendpi --protocol -j DROPПодставить --protocol из списка
iptables -m opendpi --helpи все.А один поток nginx работает иначе: в бесконечном цикле он пробегается по массиву сокетов, при необходимости считывает/записывает небольшой блок данных из/в сокет(а). Т.е. за каждый цикл он обслуживает сразу кучу клиентов (не более значения опции worker_connections). Это принцип работы poll. epoll работает еще эффективнее, но суть примерно такая же.
А когда на одном из серверов использовал irqbalance — неоднократные кернел паники, после чего он был отключен.
Опция CONFIG_IRQBALANCE отсутствует начиная с версии 2.6.27, т.к. признана устаревшей.