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

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

«Радио Свобода» атаковано белорусскими хакерами

Ряд веб-сайтов радиостанции «Свобода/Свободная Европа» в понедельник был атакован хакерами. дальше »

Японцы пока не готовы к защите контента

Второго июня 2008 года в Японии планируют ввести в силу новые правила защиты цифрового вещания. дальше »

Рукописи Дарвина уже в Интернете

Архив документов, касающихся исследований и жизни Чарльза Дарвина, стал доступен пользователям Интернета. дальше »

Досадный бизнес

Мелкие интернет-провайдеры вовсю торгуют пользовательскими данными. дальше »

CNN будет защищать сайт от атак хакеров

Телекомпания CNN официально подтвердила факты нескольких попыток атак на веб-сайт cnn.com и его смежные проекты. дальше »

Пиастры, пиастры...

Компания WebMoney Transfer разработала бизнес-платформу Keeper Embedded, предназначенную для блогов, социальных сетей, онлайновых игр, сетевых сообществ и других объединений пользователей. дальше »

„Akropolis“ остался без Интернета

Согласно прелиминарным данным, Интернет-связь будет восстановлена в течение 4–5 часов. дальше »

Yahoo! ведет

Исследовательская компания comScore Media Metrix опубликовала данные о посещаемости интернет-сайтов в марте 2008 года. дальше »

Google своего не упустит

Обладатель всемирно известного проекта YouTube.com, корпорация Google, предъявила иск к владельцу домена YouTube.net. дальше »

Google создал оружие против педофилов

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