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

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

Исход выбором можно предсказать по «лайкам» избирателей в соцсетях

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

Gigabyte выпускает 10 гигабитную сетевую плату

Компания Gigabyte присоединилась к гонке высокоскоростных сетевых решений, выпустив собственную плату LAN 10 Gigabit. дальше »

Счёт умным домам уже идёт на десятки миллионов

В наиболее развитых регионах мира — Северной Америке и Европе — количество умных домов быстро растёт, превысив 30 млн в прошлом году. дальше »

FCC США прокладывает путь для эфирного телевещания в формате 4K

Федеральное агентство по связи США (FCC) приняло решение о переходе телевидения на вещание в формате 4К. дальше »

Голосовой помощник Siri научится работать вне Сети

За последние годы компания Apple стремится дорабатывать и улучшать свой голосовой помощник Siri. За это время Siri выучила несколько языков, научилась работать со сторонними приложениями. дальше »

Европарламент одобрил правила защиты прав интернет-пользователей

Европарламент большинством голосов одобрил новые Положения о сотрудничестве по защите прав потребителей (Consumer Protection Cooperation Regulation). дальше »

Amazon регистрирует «криптовалютные» имена

В конце октября компания Amazon.com зарегистрировала сразу 3 доменных имени, имеющих непосредственное отношение к технологии блокчейна и криптовалютам. дальше »

Мошенники подделали популярную программу Microsoft ради наживы

Антивирусная компания ESET выявила сайт, распространяющий мошенническую версию Windows Movie Maker – популярной программы Microsoft для создания и редактирования видео. дальше »

В Tor Browser 7.0.9 устранена уязвимость, раскрывающая реальный IP-адрес

Сформирован корректирующий релиз специализированного браузера Tor Browser 7.0.9, ориентированного на обеспечение анонимности, безопасности и приватности. дальше »

Netflix повышает пропускную способность

С более чем 100 миллионами своих пользователей в свыше 190 странах, смотрящих ежедневно 125 миллионов часов потоковых телешоу и фильмов, Netflix внедряет Infinera Cloud Xpress 2 для расширения своих возможностей по передаче потокового видео. дальше »