Производительность Kafka Producer 0.9.0, большое количество потоков ожидания
Мы пишем сообщения со скоростью около 9000 записей в секунду в наш кластер kafka, иногда мы видим, что производительность производителя значительно снижается, а затем никогда не восстанавливается. Когда это происходит, мы видим следующую ошибку "невозможно выделить буфер в течение тайм-аута". Ниже приведены показатели производителя JMX, полученные, когда процесс работает хорошо и когда он достигает плохого состояния. Показатель "ожидающих потоков" очень высок, когда процесс ухудшается, любые входные данные будут оценены.
Параметры производителя
batch.size=1000000
linger.ms=30000
acks=-1
metadata.fetch.timeout.ms=1000
compression.type=none
max.request.size=10000000
Хотя буфер полностью доступен, ошибки: "org.apache.kafka.common.errors.TimeoutException: не удалось выделить память в течение настроенного максимального времени блокировки"
1 ответ
В какой-то момент вы начинаете отправлять пакеты из 1.000.000 сообщений. Я думаю, именно поэтому ваша производительность ухудшается. Попробуйте уменьшить это число или установите значение linger.ms ниже.