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

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

Япония устроит «разбор полетов» сайтам знакомств

Правительство Японии ужесточает законодательство для регулирования деятельности интернет-сайтов знакомств. дальше »

Доллар дешевеет, зато домены дорожают

Интересная ситуация складывается на мировом доменном рынке в связи с падением доллара. дальше »

Пираты нацелились на посольства Литвы

Президентура, Министерство иностранных дел и посольства Литвы за рубежом недавно стали мишенью виртуальных пиратов. дальше »

Главные претенденты конкурсе блогов Best Of Blogs-2007

На международном конкурсе блогов Best Of Blogs началось голосование. дальше »

Эра межпланетного интернета не за горами

Винсент Серф предсказал, что в обозримом будущем Интернет станет межпланетным. дальше »

Всемирный почтовый союз и ICANN создают домен POST

Всемирный почтовый союз выступил с предложением создать новый единый для всего мирового сообщества домен верхнего уровня POST. дальше »

Темпы развития Интернета в КНР

Количество абонентов Интернета в Китае достигло 172 млн человек. дальше »

Лукашенко отпустит интернет на свободу

В Белоруссии готовится законопроект, который сможет изменить национальный телекоммуникационный рынок до неузнаваемости. дальше »

Google опередил все поисковые порталы

Самым популярным поисковым порталом в мире является американский интернет-гигант Google. дальше »

Скорость Internet 2 увеличена до 100 Гбит/сек.

Консорциум Internet 2 объявил об усовершенствовании инфраструктуры сети, в результате чего ее скорость была увеличена до 100 Гбит/сек. дальше »