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

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

Председательский сайт Чехии

Ровно за месяц до начала чешского председательствования в Евросоюзе правительство страны запустило официальный веб-портал. дальше »

Британская компания требует передать ей права на сеть «Одноклассники»

Британская компания i-CD Publishing судится за Odnoklassniki.ru с основателем популярной социальной сети А. Попковым. дальше »

UPC запускает сайт, посвященный объединенной банкоматной сети «АТМоСфера»

Сайт «Объединенная банкоматная сеть АТМоСфера» (www.atmosphere.net.ua) поможет держателям карт быстро получить информацию о географическом распределении банкоматов в сети. дальше »

Microsoft против киберсквоттеров

Корпорация Microsoft подала в суд на компанию Domain Investments, обвинив ее в киберсквоттинге и нарушении исключительных прав. дальше »

В США можно будет получать разрешения на въезд через Интернет

Технический прогресс не обошел стороной иммиграционные власти США. дальше »

Великобритания – страна скоростного интернета

По данным британских интернет-провайдеров, в сентябре 2008 года 94,1% всех подключений страны (домашних и корпоративных) являлись широкополосными. дальше »

В Интернете насчитывается более 185 млн сайтов

Согласно опубликованным компанией Netcraft данным, по состоянию на 1 ноября в Интернете работали 185 167 897 сайтов, включая блоги и персональные страницы пользователей. дальше »

На электронное правительство Казахстана уже потрачено 12 млрд тенге

...а казахстанцы о нем практически не знают – телеканал КТК. дальше »

Система WebMoney запустила сервис «WebMoney Земляки»

Платежная система WebMoney Transfer в рамках сервиса geo.webmoney.ru запустила новый проект «WebMoney Земляки». дальше »

Евросоюз открыл электронную библиотеку Europeana

Объединенная Европа поместила в Интернет часть своих культурных ценностей, открыв онлайн-библиотеку Europeana. дальше »