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

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

Опора на Интернет

Исследование компании Ipsos MediaCT показало, что топ-менеджеры американских компаний все чаще воспринимают Интернет как главный источник деловой информации. дальше »

Заседания по Интернету

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

Домен для автомобилистов

Предложение ввести домен верхнего уровня CAR, предназначенный для автомобилистов, поступило от компании ATX Group. дальше »

Блоги: от дневников – до конкурентов СМИ

О сетевых дневниках в Литве мы побеседовали с журналистом Лютаурасом Улявичюсом, а также с известным политическим обозревателем Чесловасом Ишкаускасом. дальше »

Премьер Британии ответит на вопросы англичан на You Tube

Граждане Великобритании остаются самым продвинутым по части Интернета жителями Европы. дальше »

Google путает людей и лошадей

Администрация сервиса Google Maps приступила к массовому «замазыванию» лиц на фотографиях Street View. дальше »

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

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

Домейнеры в Дисней-Лэнде

20 мая в Дисней-Лэнде состоится открытие доменной конференции T.R.A.F.F.I.C. – одного из самых значимых событий для специалистов интернет-отрасли. дальше »

Новый смысловой интернет-поисковик

Компания Powerset запустила 12 мая одноименный поисковик, созданный для ответов на вопросы пользователей, поиска фактов и значений понятий. дальше »

Хакеры создали собственную социальную сеть

Международное сообщество хакеров запустило около недели назад собственную социальную сеть. дальше »