2016-10-19 1 views
4

Для целей тестирования мне нужно смоделировать клиента для генерации 100 000 сообщений в секунду и отправить их в тему кафки. Есть ли какой-либо инструмент или способ, который может помочь мне генерировать эти случайные сообщения?Есть ли какой-нибудь симулятор/инструмент для генерации сообщений для потоковой передачи?

+0

Я никогда не работал с кафкой. Но вы хотите, чтобы клиент реагировал на большое количество сообщений по запросу или вы хотите, чтобы клиент запрашивал столько сообщений? В первом случае вы можете использовать [stubbydb] (https://github.com/NaturalIntelligence/StubbyDB). Во втором случае вы можете использовать [jmeter] (http://jmeter.apache.org/). –

ответ

6

Существует встроенный инструмент для создания манекена, расположенный в bin/kafka-producer-perf-test.sh (https://github.com/apache/kafka/blob/trunk/bin/kafka-producer-perf-test.sh). Вы можете обратиться к https://github.com/apache/kafka/blob/trunk/tools/src/main/java/org/apache/kafka/tools/ProducerPerformance.java#L106, чтобы выяснить, как его использовать.

Одним из примеров использования будет так:

bin/kafka-producer-perf-test.sh --broker-list localhost:9092 --messages 10000000 --topic test --threads 10 --message-size 100 --batch-size 10000 --throughput 100000 

Ключевым моментом здесь является --throughput 100000 флаг, который указывается «дроссельный количество максимальное сообщение примерно 100000 сообщений в секунду.»

2

Я бы также предложить взглянуть на https://github.com/josephadler/eventsim, который будет производить более «реалистичные» синтетические данные (да, я знаю, иронию того, что я только что сказал :-P):

Eventsim является прог ram, который генерирует данные событий для тестирования и демонстрации. Это написано на Scala, потому что мы большие хипстеры данных (по крайней мере, ). Он предназначен для репликации запросов страниц для поддельной музыки веб-сайт (изображение что-то вроде Spotify); результаты выглядят как реальные используют данные, но являются полностью фальшивыми. Вы можете настроить программу на , чтобы создать столько данных, сколько хотите: данные для нескольких пользователей за несколько часов или данные для огромного количества пользователей пользователей в течение многих лет. Вы можете записать данные в файлы или передать их Apache Kafka.

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

Смежные вопросы