Sobes.tech
Назад к вопросам
Senior
3

Что именно тюнил в Kafka? Какие конкретные параметры настраивал?

Компании, где спрашивали
ТБанк

Ответ от нейросети

sobes.tech AI

При тюнинге Kafka обычно настраивают параметры, влияющие на производительность, надежность и задержки. Вот несколько ключевых параметров, которые часто настраивают:

  • broker.config:

    • num.network.threads — количество потоков для обработки сетевых запросов.
    • num.io.threads — количество потоков для операций ввода-вывода.
    • log.retention.hours и log.retention.bytes — параметры хранения логов, чтобы контролировать объем и время хранения.
    • log.segment.bytes — размер сегмента лога, влияет на производительность записи.
  • producer.config:

    • acks — уровень подтверждения записи (например, all для максимальной надежности).
    • batch.size — размер батча для отправки сообщений.
    • linger.ms — задержка перед отправкой батча, чтобы увеличить эффективность.
    • compression.type — тип сжатия сообщений (gzip, snappy, lz4).
  • consumer.config:

    • fetch.min.bytes и fetch.max.wait.ms — параметры, влияющие на задержку и объем данных при чтении.
    • max.poll.records — максимальное количество сообщений за один вызов poll.
  • Другие:

    • Настройка репликации и ISR для обеспечения отказоустойчивости.
    • Параметры JVM (если используется Kafka на JVM), например, heap size.

Пример настройки продюсера для повышения пропускной способности:

acks=all
batch.size=16384
linger.ms=5
compression.type=snappy

В зависимости от конкретных требований (задержка, надежность, пропускная способность) параметры могут варьироваться.