Kindly suggest the best tool for generating 10Mn+ concurrent user load. The tool must support MQTT traffic, REST API, support to interfaces such as Kafka, websockets, persistence HTTP connection, auth type support to assess the support /coverage.
The tool can be integrated into CI pipelines like Azure Pipelines, GitHub, and Jenkins.
JMeter is best suited for generating user load with built-in integrations. To generate that type of load, you’ll need to choose a cloud-based solution that runs JMeter, such as BlazeMeter or RedLine13. They support JMeter for testing RESTful APIs and there is a plugin specifically designed for MQTT. You’ll want to look at subscription options and costs to run at that great a load.
There are JMeter plugins you can configure for all sorts of profiling including persistence of connections. And third-party plugins that you can add as JAR files to your load test, such as this one specifically for Kafka. JMeter also has good support for configuring authorization headers.
With regard to CI/CD integration, both support Jenkins. RedLine13 has a custom Jenkins plugin and allows for resources for tests to be sourced from GitHub and other places like AWS S3.