Loading Azure EventHub Load

I am developing an application that uses the Azure EventHub - which claims to be a very scalable solution for publishing and handling a lot of events - and now I would like to download a test final solution to see if the whole system meets my requirements or if I need to add more throughput units in the EventHub to handle expected input.

My clients use the EventHub HTTP endpoint to publish events, which practically means when a client wants to publish an event by sending an HTTPS POST request to a custom URL like:

//mynamespace.servicebus.windows.net/myeventhub/publishers/mypublisher

      

I could easily load this service from my local machine ( Apache JMeter for example ), but unfortunately my local machine has limited resources, so I cannot create a large load to test my service.

What do I mean under heavy load?

I need to test the system for a given number of requests per second - this number should be between 20,000 and 100,000, so in the worst case I have to test it at 100,000 requests / second .

There are several cloud load testing tools that can generate that much load and they are great. However, every cloud load testing tool requires some validation step where I have to verify that the system I want to test is a property of mine. (So ​​there will be no DDoS tester on the WhiteHouse website.)

To do this, I usually have to load the validation token into the url, which is validated by the download tester tool before running my tests. Unfortunately, in this case, I cannot control the EventHub endpoint, so I cannot load the token:

//mynamespace.servicebus.windows.net/verificationToken.txt

      

Is there any cloud load testing solution that can work with Azure EventHubs?

If not, how do I load an EventHub based test service?

+3


source to share


2 answers


What is the nature of the application? Is this a mobile app? Desktop? Web? Depending on the scenario, you can download the application directly to the cloud node and run it from there either directly or using a load testing tool.

Another option is that, since you are only focusing on testing the event hub itself, create a simple web page that executes the HTTP message in the event hub (there an example does it via javascript at: https: //brentdacodemonkey.wordpress. com / 2014/11/18 / azures-new-event-hub / ) and then pull the load load tool you want from that webpage.



Before you start testing, make sure you download if you think you need it. Bundling can greatly increase the rate of swallowing. You will also want to make sure that you set up the number of scale units to match the load you plan to generate. By default, you are limited to 1 MB / s inbound and 2 MB / s outbound. If you feel that 100,000 events / sec is going to be over 1 MB, then you will need to make sure you increase your Event Hub throughput. Finally, when possible, dispatch the event asynchronously. its not uncommon in load testing to encounter bottlenecks in the sending application, and if you dispatch events synchronously, this bottleneck can easily be interpreted as a bandwidth issue at the event host itself.

0


source


How about using Azur VM cloud testing against your endpoints? check it out: https://www.visualstudio.com/en-us/get-started/test/load-test-your-app-vs



0


source







All Articles