Проведена оценка способности сетевого стека 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

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

Угрозы Всемирной Сети

США: более 60% пользователей боятся оставлять личные данные в Сети. дальше »

В Рунете появился новый поисковый музыкальный проект

Найдем. Любую. Музыку. Именно под таким слоганом запустила свой новый проект компания WebDiscovery. дальше »

В ожидании кибервойны

Холодная война давно закончилась, но боевые действия между Россией и США разгораются вновь. Речь идет о хакерских атаках, которым подвергаются базы данных ведущих американских министерств и ведомств. дальше »

Рост популярности видеосайтов

Почти половина всех интернет-пользователей используют видеообменные сайты. дальше »

Доменные имена для взрослых по-прежнему в цене

Компания Moniker провела тематический аукцион доменных имен, на котором были выставлены домены «для взрослых». дальше »

Yamaha выпустила интернет-рояль

Японская компания Yamaha представила высокотехнологичный рояль Disklavier, способный подключаться к Интернету. дальше »

Интернет вырос на 50 млн. сайтов в прошлом году

К концу 2007 г. общее количество сайтов в Интернете составило 155 230 051, говорится в новом исследовании компании Netcraf. дальше »

Американцев отлучат от безлимитного интернета

Крупный американский интернет-провайдер и кабельная телекомпания Time Warner Cable собирается ввести ограничения на объем скачанной информации. дальше »

Крупного регистратора доменов обвинили в киберсквоттинге

Компания Network Solutions LLC, третий по величине регистратор доменных имен в США, столкнулась с протестами большого числа пользователей из-за запуска своего нового сервиса. дальше »

Second Life закрывает виртуальные банки

Создатель трехмерной онлайн-вселенной Second Life – компания Linden Lab – вводит запрет на деятельность незарегистрированных финансовых учреждений в виртуальном мире. дальше »