12.12.2012 00:33, Michael A. Kangin пишет: > Добрый день. > > хочется запинать систему, которая бы выдерживала как можно большее PPS > синфлуда без вреда для предоставляемых сервисов. > > Есть тестовый сервер с двумя ксеончиками, и сетевухой Intel > Corporation 82580 Gigabit Network Connection (драйвер igb). > > Запускаем на нём в качестве жертвы апача с тестовым cgi, который > рассказывает текущее время - так проверяем отзывчивость сервиса. > > атакуем так с другого сервера: > hping3 <ip> -p 80 -S --rand-source --flood > Это даёт нам порядка 380K pps исходящего. > > А атакуемый сервер (p6, std-def) принимает только порядка 75K, > остальное дропает. Ну и сервис отвечает более-менее уверенно только до > 150K. > > Если поставить 3.4.21-un-def-alt0.M60P.1, число принимаемых пакетов > немного увеличивается, до 110К. Причём, количество принимаемых пакетов > снижается с ростом нагрузки - так, при атаке под 500К принимается уже > только 90K. > > Немного лучше себя ведёт Centos6 - она вполне принимает до 140K, и > сохраняет отзывчивость сервиса до 200К с атакующей стороны. > > На атакуемой машинке в htop'е светятся красным все ядра, отданные под > прерывания сетевухи и довольно высокий LA. > > > Интриги добавляет тот факт, что Линупс сосёт. > > Если на этот сервер поставить FreeBSD9, то она принимает под 450К без > всякого ухудшения сервиса. И живёт со скрипом вплоть до 750К с > атакующей машины, больше я с неё не смог выжать. > > Собственно, что сделать можно под Линуксом? > Все настройки в целом по умолчанию (кроме раскидывания прерываний по > ядрам процессора). Я пробовал много шаманств - и всякие там sysсtl > крутить, и длины очередей в ifconfig и ethtool, и параметры igb. Все > бесполезно (да и раскидывание прерываний, подозреваю, тоже). Еще идея. А пробовали менять TCP congestion avoidance algorithm? Во фре по умолчанию используется NewReno. http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm TCP New Reno is the most commonly implemented algorithm, SACK support is very common and is an extension to Reno/New Reno. Most others are competing proposals which still need evaluation. Starting with 2.6.8 the Linux kernel switched the default implementation from Reno to BIC. The default implementation was again changed to CUBIC in the 2.6.19 version. FreeBSD uses NewReno as the default algorithm.
-- WBR, Dubrovskiy Viacheslav
smime.p7s
Description: Криптографическая подпись S/MIME
_______________________________________________ Sysadmins mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/sysadmins
