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

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

Интернет населяет более миллиона вирусов

Количество вирусов, самораспространяющихся программ и троянов, живущих во Всемирной сети, достигло отметки в один миллион. дальше »

Европейцев не будут отключать от Интернета за файлообменники

Депутаты Европарламента рекомендовали провайдерам стран-членов ЕС не блокировать файлообменный трафик и не разрывать соединение с Интернетом пользователей. дальше »

Более 100 тыс. человек попросили Microsoft сохранить Windows XP

Петицию Save XP, размещенную на сайте издания Infoworld и призывающую Microsoft не прекращать поддержку Windows XP 30 июня 2008 года, к 9 апреля подписало 111534 человека. дальше »

Названы номинанты на сетевую премию Webby

Международная интернет-премия Webby Awards 8 апреля опубликовала список номинантов в 70 категориях. дальше »

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

Компания Vivaty из калифорнийского городка Менло Парк задумала создать гибрид традиционной социальной сети и виртуальной онлайновой вселенной. дальше »

Китайские хакеры не остаются без работы

Информационный сайт тибетской центральной администрации в изгнании, где размещены данные о деятельности Далай-ламы и о Тибете, в пятницу прекратил работу, предположительно, из-за атаки хакеров. дальше »

Пуэрто-Рико на пути к IDN

Администратор доменной зоны Пуэрто-Рико – University of Puerto Rico – сообщил о том, что теперь в домене PR можно регистрировать имена, содержащие в себе буквы национальных алфавитов. дальше »

Asus начала патентную войну с IBM

Тайваньская компания Asustek Computer подала в суд на американскую IBM, обвинив ее в незаконном использовании двух патентов дальше »

Список позора для операторов

Еврокомиссия намерена создать «список позора», в который будут включены все операторы, получающие сверхприбыль от завышенных тарифов на дата-роуминг. дальше »

Ericsson ускоряет эволюцию 3G

Корпорация Ericsson представила первую в мире коммерческую платформу стандарта LTE для высокоскоростной мобильной связи. дальше »