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

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

«Школьный портал» закрылся через три дня после запуска

21 декабря был объявлен официальный старт московского проекта «Школьный портал – Единая стартовая страница». дальше »

За скачивание пиратских копий будут отключать от Интернета

Пользователи Интернета, незаконно скачивающие пиратские копии кинофильмов, телесериалов и другой видео- и аудиопродукции, будут отключаться от Сети. дальше »

Яндекс открыл сервис для вебмастеров

Сервис Яндекс.Вебмастер открылся для широкой аудитории. дальше »

В Китае насчитали 50 млн блоггеров

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

Ученые предсказали будущее Интернета

Авторитетный английский деловой журнал The Economist сделал ряд смелых предсказаний о том, что ждет интернет-пользователей в 2008 году. дальше »

NTT DoCoMo будет сотрудничать с Google

Крупнейший японский оператор NTT DoCoMo накануне объявил о вступлении в партнерские отношения с компанией Google. дальше »

Кириллический домен «.рф» появится в Сети в 2008 году

Участники рынка считают, что новый домен будет востребован среди пользователей. дальше »

Половина американцев ищут в Google сами себя

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

РБК завоевывает рынок интернет-платежей

Электронная коммерция начала привлекать крупных инвесторов. дальше »

Канцлер Меркель открыла детский портал

В Германии открыт специальный сайт для детей fragfinn.de. дальше »