The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Facebook ищет разработчиков для доведения сетевого стека Lin..., opennews (?), 07-Авг-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


205. "Facebook ищет разработчиков для доведения сетевого стека Lin..."  +/
Сообщение от t28 (?), 08-Авг-14, 02:07 
> Контексты softirq и потоков пользователя в ядре
>  лочат друг друга, что становится заметно на многоядерных системах при серьёзном
> сетевом трафике, и приводит к тому, что потоки много времени
>  висят на локах. Вызывает снижение производительности сетеых сервисов юзерспайса.  Это,
> что интересно, проявляется только если машина
> обрабатывает INPUT/OUTPUT трафик и не проявляется на транзитном трафике если
> машина выступает роутером/машрутизатором.

Да, вот мы сейчас на эти грабли серьёзно наступили. До 20% в softirq, и это при недоходящем до 1 Гбит/с трафике. Пока пришлось зарезать лимиты для модуля e1000e, но это увеличило latency. То же железо на винде тянет бОльшую нагрузку.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

273. "Facebook ищет разработчиков для доведения сетевого стека Lin..."  +1 +/
Сообщение от AlexAT (ok), 08-Авг-14, 12:30 
> Да, вот мы сейчас на эти грабли серьёзно наступили. До 20% в
> softirq, и это при недоходящем до 1 Гбит/с трафике. Пока пришлось
> зарезать лимиты для модуля e1000e, но это увеличило latency. То же
> железо на винде тянет бОльшую нагрузку.

1. Самым первым делом hyperthreading => off, вызывает lock contention, и не только в сетевом стеке

2. Если e1000e и нет RPS/RFS - включить.

3. Для e1000e с RPS/RFS (для igb, bnx2/bnx2x и tg3 что с RPS, что без - тоже актуально) ->
echo 16 > /proc/sys/net/core/dev_weight
echo 256 > /proc/sys/net/core/netdev_budget
echo 16000 > /proc/sys/net/core/netdev_max_backlog
echo 0 > /proc/sys/net/core/netdev_tstamp_prequeue

4. проверить /sys/devices/system/clocksource/.../current_clocksource - если там HPET, то заменить на один из доступных прочих способов, использование HPET как clocksource при определенных (очень специфичных) условиях также может вызывать lock contention в сетевом стеке

Ответить | Правка | Наверх | Cообщить модератору

363. "Facebook ищет разработчиков для доведения сетевого стека Lin..."  +/
Сообщение от t28 (?), 10-Авг-14, 13:27 
У меня висит тяжёлое приложение в userspace, это не PPPoE.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру