Size: a a a

2021 November 23

О

Олександр in freebsd_ru
Значения по умолчанию. Ими я пробовал управлять в Freebsd 11.4
источник

DL

Dmitry Luhtionov in freebsd_ru
смотри
источник

DL

Dmitry Luhtionov in freebsd_ru
dev.ixl.1.iflib.override_ntxqs=3
dev.ixl.1.iflib.override_nкxqs=2
dev.ixl.0.iflib.override_ntxqs=2
dev.ixl.0.iflib.override_nкxqs=3

числа 2 и 3 в зависимости от направления трафика, ну и не забудь
override_qs_enable
            When set, allows the number of transmit and receive queues to be
            different.  If not set, the lower of the number of TX or RX
            queues will be used for both.
источник

DL

Dmitry Luhtionov in freebsd_ru
чтобы можно было разное количество очередей сделать
источник

DL

Dmitry Luhtionov in freebsd_ru
после этого смотришь ps -axw
оно тебе показывает, какие PID у каких очередей
ну или с помощью vmstat -i - какие номера прерываний
сажаешь их с помощью cpuset на ядра, отличные от нулевого
источник

DL

Dmitry Luhtionov in freebsd_ru
dummynet прибиваешь к свободному ядру (не нулевому)
источник

DL

Dmitry Luhtionov in freebsd_ru
отключаешь сбор энтропии с сети и прерываний
источник

DL

Dmitry Luhtionov in freebsd_ru
а уж потом тюнишь сетевой стек
источник

DL

Dmitry Luhtionov in freebsd_ru
у тебя сейчас по ходу, при большой нагрузке на все ядра, шедулер только и занимается, что перебрасыванием процессов с одного ядра на другое
источник

DL

Dmitry Luhtionov in freebsd_ru
вот просто посчитай
dev.ixl.1.iflib.override_qs_enable=1
dev.ixl.1.iflib.override_nrxqs=11 (11, чтобы первое ядро оставить dummynet)
dev.ixl.1.iflib.override_ntxqs=11

dev.ixl.0.iflib.override_qs_enable=1
dev.ixl.0.iflib.override_nrxqs=11
dev.ixl.0.iflib.override_ntxqs=11
источник

DL

Dmitry Luhtionov in freebsd_ru
ты наплодил 11*4=44 очереди, а ядер у тебя всего 12
источник

О

Олександр in freebsd_ru
моя логіка тут по 4-ри на ядро дві на вхід, дві на вихі. Але походу так не працює((
источник

О

Олександр in freebsd_ru
Спробую як пишете Ви.
источник

DL

Dmitry Luhtionov in freebsd_ru
ну а еще включил separate_txrx, что озадачило драйвер тем, как разбросать 22 очереди одной сетевухи на 12 ядер так, чтобы они не пересекались
источник

О

Олександр in freebsd_ru
Поясіть, будь ласка, що Ви маєте на увазі тут?
источник

DL

Dmitry Luhtionov in freebsd_ru
sysctl kern.random.harvest.mask_symbolic
источник

DL

Dmitry Luhtionov in freebsd_ru
kern.random.random_sources:
kern.random.harvest.mask_symbolic: [UMA],[FS_ATIME],SWI,[INTERRUPT],[NET_NG],[NET_ETHER],[NET_TUN],[MOUSE],[KEYBOARD],[ATTACH],[CACHED]
kern.random.harvest.mask_bin: 000000000000000100000000
kern.random.harvest.mask: 256
источник

DL

Dmitry Luhtionov in freebsd_ru
если на сервере не используется активно шифрование (типа куча ssh/ssl/etc), то можно использовать аппаратный генератор энтропии, если он есть в проце
источник

О

Олександр in freebsd_ru
Поняв, почитаю. Шифрування не використовується.
источник

О

Олександр in freebsd_ru
А що ви скажете про цей параметр net.isr.dispatch=direct
источник