одного инстанса продьюсера, а точнее интересует адекватная оценка пропускной способность одного продьюсера в кафке с сообщениями размером ~30кб
Я пользуюсь питоном, aiokafka, используя их бенчмарк я получаю очень скудные результаты
python -m simple_produce_bench -b kafka -s 30000 --topic test --batch-size 200000 --linger-ms 20 --uvloop
Produced 168 messages in 1 second(s). Produced 156 messages in 1 second(s)
Так же я проводил эксперимент, пробуя запустить бенчарм сарамы на го
kafka-producer-performance -brokers=kafka -message-load=20000 -message-size=30000 -topic=test
Я получил порядка 1.5к сообщений в секунду, что тоже выглядит мало.
Из важного, кафка развернута в одного брокера, с 8гб оперативы(Сейчас вот хочу накинуть сверху, но немного неочевидно, почему память должна увеличить пропускную способноть больших сообщений), ssd диски. Тест производиться в топик с одной партицией(пробовал добавлять партиции и если честно не увидел прироста)
Собственно вопрос в том, на какой результат с одного продьюсера стоит ориентироваться? Куда в первую очередь стоит смотреть при испытывании таких проблем? Я подозреваю, что кафка как-то не так законфигурена. Может есть какой-то ультимативный гайд, куда можно посмотреть для ускорения пропускной способности
сначала вопрос - в 1 секунду включена только отправка сообщений или создание подключения + отправка?
один продюсер в несколько партиций не будет больше слать. для каждой партиции отдельный батч должен быть, а это значит больше запросов при прочих равных. попробуйте тюнить размер батча, он заметно влияет на скорость отправки. за секунду 156 батчей по одному сообщению могли быть в случае питона, к примеру. были бы они по 100-1000 сообщений...
В 1 секунду включена только отправка сообщений
Обсуждают сегодня