Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system. I need to load test KAFKA using JMeter effectively as we have recently replaced an api with event mechanism (utilising KAFKA) in our system. Please suggest! Step by step detailed instructions would be appreciated.
-
1Do you need to load test kafka itself (if yes, what is the reason) or some solution that is based on kafka? If yes, what are the interfaces?– Alexey R.Commented Dec 26, 2018 at 10:10
-
Preferably both! WDYT? In essence an api would be hit and the request would be sent as events for streaming.– Rohan KaliaCommented Dec 26, 2018 at 10:33
1 Answer
My expectation is that you don't need to test Kafka itself, you should run the same test as you had for the previous implementation and focus on real life application usage rather than on underlying transport. If everything goes well you should have either the same or better result.
If you will have worse result - it will indicate performance regression issue and you will need to figure out what is the bottleneck.
And only if you figure out that new system got slower due to Kafka - only in this case you can consider running performance tests against your Kafka instance i.e. to verify if configuration tweaks have positive impact. If you reach this point - take a look at Pepper-Box - Kafka Load Generator JMeter Plugin. Check out Apache Kafka - How to Load Test with JMeter article for comprehensive instructions if needed.