Кафка заранее резервирует место на диске? - PullRequest
1 голос
/ 06 ноября 2019

Я только что закончил тестовый прогон, чтобы увидеть, насколько хорошо мой одноузловой Kafka-кластер (1 Zookeeper, 1 Kafka-Broker) справится с ожидаемой нагрузкой для будущего проекта. Компоненты кластера работают в Docker-Containers, которые инициализируются через файл docker-compose.

Во время теста я заметил, что использование диска не росло линейно, как я ожидал. Он вырос в прыжках, хотя пропускная способность оставалась постоянной. Это график использования диска базовой виртуальной машины (на момент запуска теста на нем работало очень мало, поэтому использование диска виртуальными машинами должно коррелировать с использованием посредника):

s

Как видите, скачок в использовании диска все больше и меньше. Кроме того, в конце, использование диска снова увеличивается, но довольно сильно падает после выполнения тестового прогона.

Это наводит меня на мысль, что Kafka-Broker предвидит ожидаемое использование диска и заранее резервирует дисковое пространство,Но я не могу найти какие-либо подтверждающие доказательства или документацию по этому вопросу. Итак, что здесь происходит?

1 Ответ

0 голосов
/ 07 ноября 2019

В настройках broker есть настройка log.preallocate, которая заставляет kafka предварительно создавать файлы сегментов для разделов, но по умолчанию имеет значение false. Вы изменили этот параметр?

, что касается сокращения, ваш журнал должен показать, сработало сжатие журнала или нет. Вы не упомянули свою конфигурацию темы (это был сжатый журнал?) или вашу тестовую рабочую нагрузку (использует ли она ключи? повторяет ли она их?), поэтому я не могу знать наверняка.

по моему мнению, ваша тестовая рабочая нагрузка былапросто не выдает данные так линейно, как вы думаете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...