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

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

Винт Серф советует национализировать Сеть

Главный интернет-эксперт Google, В. Серф, которого еще называют «отцом Интернета», в беседе с журналистом издания TechCrunch предположил, что госорганам следует регулировать Сеть. дальше »

Запуск домена TEL не за горами

В конце 2008 года домен TEL, призванный объединить традиционные средства коммуникаций и новые технологии, откроется для регистрации. дальше »

Веб-инициатива эстонского правительства

Отныне правительство Эстонии ждет идеи и предложения граждан в вебе-участия по адресу www.osale.ee. дальше »

Двухбуквенник для Volkswagen

По регистрационным правилам, установленным администратором немецкого домена DE для национальной доменной зоны, доменное имя не может быть длиннее 63 и короче 3 символов. дальше »

Шведы будут шпионить за Рунетом

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

В Интернете – 162 миллиона доменов

Компания Verisign подготовила квартальный отчет о тенденциях развития и количестве доменных регистраций в разных доменных зонах. дальше »

Регистраторы = киберсквоттеры

Администратор доменной зоны Европейского Союза – организация EURid – выступила с обвинениями в адрес 400 американских регистраторов доменов. дальше »

Хельсинки представляет новый мобильный портал

Запущен официальный мобильный сайт города Хельсинки, адаптированный под мобильные телефоны и наладонники. дальше »

Самый опасный домен в мире

Сайты домена .hk, принадлежащего Гонконгу, стали теперь самыми опасными для просмотра и поиска, говорится в отчете компании McAfee. дальше »

Туристы рекламируют отели на YouTube

Отдыхая в отеле Marriott Renaissance Ocean Suites на Арубе, турист решил запечатлеть незабываемые моменты своего отпуска и снял небольшой любительский видеоролик. дальше »