Size: a a a

2021 July 09

DG

Dmitry Goncharov in pro.kafka
Может кто нить посоветовать настройки под 50K RPS (sum (rate(kafka_network_requestmetrics_requests_total{instance=~"$node"}[1m])))?
num.network.threads=1000
queued.max.requests=3000
num.io.threads=32
num.replica.fetchers=32
источник

T

Tim in pro.kafka
я не настоящий сварщик, но 1000 тредов это если только у вас там 200 или 300 ядер на машине
обычно там 5-10 или типа
источник

DG

Dmitry Goncharov in pro.kafka
источник

DG

Dmitry Goncharov in pro.kafka
num.network.threads is an important cluster-wide setting that determines the number of threads used for handling network requests (that is, receiving requests and sending responses). Set this value mainly based on number of producers, consumers and replica fetchers.
источник

DG

Dmitry Goncharov in pro.kafka
ну и если я ставлю 1000 тредов на обработку запросов - 30 % cpu у 16 ядер
источник

T

Tim in pro.kafka
не надо ставить 1000 тредов, тред снимать ставить с ядра - относительно дорогая операция
повышает непроизводительные затраты на context switching
источник

T

Tim in pro.kafka
и это не про кафку, это вообще в целом про системы с тредами
источник

DG

Dmitry Goncharov in pro.kafka
а что делать если утилизация num.io.threads=32 очень высокая и треды утилизируються?
источник

T

Tim in pro.kafka
утилизация чего и на что, что у вас vmstat показывает?
источник

DG

Dmitry Goncharov in pro.kafka
утилизация num.io.threads=32
источник

T

Tim in pro.kafka
сколько у вас ядер на машине где брокер
источник

DG

Dmitry Goncharov in pro.kafka
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0   7680 215436      0 20935788    0    0     6   158    1    1 14  4 82  0  0
источник

DG

Dmitry Goncharov in pro.kafka
16 ядер vcpu
источник

DG

Dmitry Goncharov in pro.kafka
диски простаивают
источник

T

Tim in pro.kafka
надо смотреть во что у вас там упирается, в IO или во что-то другое
cs и in это context switches/interruptions, меньше - лучше
я так понимаю у вас есть нагрузочные тесты - посмотрите с 16 тредами и с 32 разницу в cs
волшебства же нет - там  всего 16 тредов одновременно могут работать, если сделать тредов больше, то ядер всем всё равно не хватит
источник

DG

Dmitry Goncharov in pro.kafka
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
         13.76    0.00    3.78    0.02    0.00   82.44
источник

DG

Dmitry Goncharov in pro.kafka
вот именно что ни во что не упираеться но num.io.threads прям в 0 на нодах где сонсюмер группа нагруженная
источник

DG

Dmitry Goncharov in pro.kafka
кафка 2.4.0
источник

T

Tim in pro.kafka
а размер сообщения какой? и сколько консюмеров-продюсеров-партишенов?
источник

DG

Dmitry Goncharov in pro.kafka
партишинов 4к / продюсеров 400/ консюмеров 400 (инстансов сервиса)
источник