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

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

Развод Макартни превратили в компьютерную игру

В интернете появилась игра, посвященная недавнему разводу сэра Пола Маккартни с моделью Хизер Миллс. дальше »

Шекспир в сети

Бодлеанская библиотека в Оксфорде и Шекспировская библиотека Фолджера в Вашингтоне планируют совместно отсканировать и выложить в Сеть все 75 изданий пьес Вильяма Шекспира. дальше »

Google создает создает интернет-гаджеты для "Wi-Fi 2.0"

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

Про-тибетские группы атакуются на фронте Сети

Группы, симпатизирующие антикитайским протестантам в Тибете в настоящее время подвергаются кибератакам. дальше »

Доменный бум

В марте домен Казахстана (KZ) преодолел символический рубеж в 25 тыс. зарегистрированных имен. дальше »

Wikipedia покажет юзерам рекламу?

Дела свободной интернет-энциклопедии Wikipedia идут куда хуже, чем кажется. дальше »

Первый после sex.com

11 февраля доменное имя fund.com было продано за $9,995,950. дальше »

Запущен конкурент YouTube

Американские корпорации News Corp. и NBC Universal 12 марта официально запустили видеопортал Hulu.com. дальше »

Отслеживание «пиратов» по-шведски

Шведских провайдеров обяжут раскрывать данные о пользователях P2P-сетей. дальше »

MOBIльный домен для городов

Компания The World Group, дизайн-бюро Fortune Cookie и организация dotMobi, управляющая доменом MOBI, объявили о создании совместного предприятия World Mobi Ltd. дальше »