Size: a a a

2019 November 21

AU

Aleksey Uzhva in pro.kafka
Там у оракла лицензии ещё на голденгейт надо. На проде они обычно всегда есть но на не-продах это может быть не удобно
источник
2019 November 22

AH

Ayrat Hudaygulov in pro.kafka
Товарищи, нужна помощь, продакшн в огне.

Есть пайплайн флинка где сильный бекпрешр появился (связано с увеличением трафика перед black friday). Но бекпрешур идёт походу от кафка продусера, то есть с самого последнего шага в пайплайне.

средний размер месаджа - 350КБ, партиций в топике 45, сейчас продьюсит где-то 760 msg/sec с параллелизмом 20, но метрики подозрительные:
batch-size-avg = ~100000
io-time-ns-avg = ~ 60000000000 (1 min)
io-wait-time-ns-avg = запредельно, около 2х часов
network-io-rate = ~90
outgoint-byte-rate = колеблется от 0 до дохуя
records-per-request-avg = 1
request-latency_max = 1sec
request-latency-avg = 8ms
io-wait-ratio = то 0, то 1

меня смущает гигантский io-wait-time-ns-avg. Какие есть варианты диагностирования и возможных твиков если проблема действительно в продюсере?
источник

AH

Ayrat Hudaygulov in pro.kafka
Ещё замечание, когда средний размер сообщения падает до 50Кб всё устаканивается более менее. Возможно размер буферов?
источник

AM

Aset Madraimov in pro.kafka
Ayrat Hudaygulov
Ещё замечание, когда средний размер сообщения падает до 50Кб всё устаканивается более менее. Возможно размер буферов?
Банально, но кол-во сообщений в секунду обратно пропорциаонально размеру сообщения. Попробуйте потюнить основные параметры  продюсера (batch size, linger ms) и включить компрессию (compression.type   lz4 или snappy)
источник

AH

Ayrat Hudaygulov in pro.kafka
настройки продюсера не сказать что прям сильно кастомные:
ACKS_CONFIG=ALL
COMPRESSION_TYPE_CONFIG=snappy
MAX_REQUEST_SIZE_CONFIG=10000000
REQUEST_TIMEOUT_MS_CONFIG=240000

то есть уже компрессия есть
источник

AM

Aset Madraimov in pro.kafka
Linger ms сколько?
источник

AH

Ayrat Hudaygulov in pro.kafka
кстати ещё заметил что на брокере компрессия стоит lz4..
источник

AH

Ayrat Hudaygulov in pro.kafka
Aset Madraimov
Linger ms сколько?
дефолтный вроде 0?
источник

AH

Ayrat Hudaygulov in pro.kafka
то есть явно не выставлен. кафка 0.9, там вроде 0
источник

AM

Aset Madraimov in pro.kafka
Ayrat Hudaygulov
то есть явно не выставлен. кафка 0.9, там вроде 0
увеличьте, это критичный параметр для меседж рейта
источник

AM

Aset Madraimov in pro.kafka
и наблюдайте за records-per-request-avg
источник

AH

Ayrat Hudaygulov in pro.kafka
Aset Madraimov
и наблюдайте за records-per-request-avg
он прям всегда 1 сейчас
источник

AH

Ayrat Hudaygulov in pro.kafka
а батч сайз тут будет играть роль? месаджи достаточно толстые сами по себе
источник

AH

Ayrat Hudaygulov in pro.kafka
есть ли смысл 300КБ месаджи ещё и в батч упаковывать?
источник

AM

Aset Madraimov in pro.kafka
по дефолту 16КБ
источник

AM

Aset Madraimov in pro.kafka
Эти два параметра надо подогнать под ваш ворклоад
источник

AH

Ayrat Hudaygulov in pro.kafka
ну то есть я всегда пробиваю потолок и батч всегда с размером 1 будет
источник

AM

Aset Madraimov in pro.kafka
да
источник

AM

Aset Madraimov in pro.kafka
сделайте лингер 50 мс, батч сайз 350 000 * 10  к примеру.
источник

AH

Ayrat Hudaygulov in pro.kafka
Да, это допустимо. латенси не так важна, как пропускная способность
источник