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

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

Тролль предлагает пять тысяч за голову блоггера

Американский патентный поверенный Рэй Ниро объявил недавно о награде в $5000 тому, кто назовет ему имя блоггера, ведущего сетевой дневник о «патентных троллях». дальше »

МИД Финляндии создает глобальную VPN-сеть

Пятилетний контракт стоимостью €9 миллионов распространяется на 97 финских дипломатический миссий в 60 странах. дальше »

На сайте Cisco.com реализована концепция Cisco 3.0

В последнем отчете siteIQ о лучших Web-сайтах сайт Cisco.com особо отмечен за использование таких технологий Web 2.0, как встроенное видео, форумы заказчиков и прямые обсуждения в реальном времени. дальше »

Интернет все чаще используют для шпионажа

Kоличество инцидентов, связанных с кибер-шпионажем и компьютерными атаками на важные объекты национальных инфраструктур, стремительно увеличивается во всем мире. дальше »

НАСА запускает новую версию сайта

Американское космическое агенство НАСА сегодня официально запустило новую версию своего официального сайта. дальше »

Сделка века

Российская интернет-компания «СУП Фабрик» полностью выкупила известный интернет-сервис LiveJournal. дальше »

Доменные имена: собственность или нет?

13 ноября компания Bodog Entertainment Group SA подала в суд Вашингтона апелляцию с требованием пересмотра его первоначального решения. дальше »

NASDAQ представила новый интернет-индекс

Американская фондовая биржа NASDAQ представила новый индекс – NASDAQ Internet Index. дальше »

Виртуальное ограбление виртуальных банков

Волна финансовых преступлений на этой неделе прокатилась по виртуальному миру Second Life. дальше »

Мера против «халявщиков»

Французские любители скачивать фильмы и музыку на халяву в ближайшее время могут быть отключены от Интернета. дальше »