Проведена оценка способности сетевого стека Linux обрабатывать миллион пакетов в секунду

Опубликовано: 26 июня 2015 г., пятница

Марек Майковски (Marek Majkowski), разработчик ядра Linux, работающий в компании CloudFlare, провёл заслуживающий внимания эксперимент, пытаясь разобраться насколько быстр сетевой стек ядра Linux и возможно ли в Linux обеспечить работу пользовательского приложения, способного обработать миллион UDP–пакетов в секунду на обычном сервере с шестиядерным CPU Xeon (2GHz) и сетевой картой 10G.

В эксперименте применялась связка из программы для отправки данных, использующая вызов sendmmsg для отправки информации порциями по 1024 пакета за раз, и программы для приема данных, использующая системный вызов recvmmsg, более эффективный чем recv благодаря пакетной обработке данных.

Первый вариант приложения продемонстрировал производительность отправки данных в диапазоне от 197 до 350 тысяч пакетов в секунду. Непостоянство производительности объяснялось миграцией обработчиков между ядрами CPU. После жесткого закрепления программы за одним ядром CPU возросла эффективность кэша и производительность стабилизировалась на отметке в 350 тысяч пакетов в секунду. Следующим шагом стало распараллеливание отправки в несколько нитей, генерация пакетов значительно возросла, но принимающая программа не смогла обработать больше чем при первой попытке, уперевшись в производительность ядра CPU, выполняющего код приложения.

Данное ограничение удалось преодолеть при помощи задействования нескольких принимающих очередей (RX queue), привязанных к разным CPU и закреплённых за разными IP–адресами. Распределение запросов по двум принимающим очередям увеличил производительность до 650 тысяч пакетов в секунду. Попытка дальнейшего увеличения числа RX–очередей привела к очередному узкому месту – несмотря на то, что сетевая карта справлялась с доставкой пакетов ядру, ядро оказалось не способно доставить их приложению, которое не успевало их принимать. Увеличение числа принимающих нитей, из–за ограниченного размера буфера UDP, не улучшило положение.

Источник: opennet.ru
Копировать, распространять, публиковать информацию портала News.lt без письменного согласия редакции запрещено.

Комментарии Facebook

Новый комментарий


Captcha

статьи по схожей тематике

Оптимальная стратегия поискового продвижения в сегодняшних условиях

Компания NetPromoter анонсирует семинар М. Райцына aka MiRaj «Оптимальная стратегия поискового продвижения в сегодняшних условиях». Мероприятие будет проходить 30 января 2009 г. в Киеве. дальше »

MPAA судится за ссылки на нелегальное кино

Американская ассоциация кинопроизводителей (MPAA) подала в суд сразу на три сайта, «способствующих нарушению авторских прав» на кинопродукцию. дальше »

Хакеры из iPhone Dev Team взломали защиту iPhone 3G

Техника взлома смартфона будет опубликована в канун Нового года. дальше »

Новый «троян» крадет пароли к платежным системам

Компания BitDefender предупредила о появлении «трояна», маскирующегося под плагин браузера Firefox. дальше »

Новая онлайн-игра «Башмаком по Бушу»

24-летний британец А. Тью открыл сайт www.sockandawe.com, посетителям которого предлагается сыграть в простую онлайн-игру. дальше »

Домен для университетов

Юридическая фирма Pinsent Masons призывает университеты и миссионерские организации задуматься о собственном домене UNI или UNIVERSITY. дальше »

Все, что вы хотели узнать о знаменитом голландском тренере

Посетители сайта hiddink.ru будут обеспечены подробной и самой последней информацией, связанной с работой Гуса Хиддинка в России. дальше »

Открылся официальный сайт Александра Солженицына

В день 90-летия Александра Солженицына начал работу его официальный сайт Solzhenitsyn.ru. дальше »

Немного о каждом

На прошлой неделе прошла 2-я ежегодная Конференция регистраторов, организованная администратором национального домена Великобритании UK– Nominet. дальше »

Диего Марадона исчез

Таков странный поворот событий в глобальной битве за свободу слова в Интернете. дальше »