Skip to content

How to do stress test

szhaomsft edited this page Mar 8, 2020 · 4 revisions

What is stress test?

In a production system, it is important to make sure the service working well under the target traffic. So it would be valuable to do some stress test on the system end to end before official launch.

We can do such stress test with our customers if they face issues.

How to do stress test?

long time stress

A simple test case is to invoke TTS service with long enough time to see there are any issues with the client code or the service. We commit a high SLA on our service. But sometimes, there could issues with the network or client code etc. So it is good to run though such as test case to make sure there is no surprise.

Sample: https://github.com/Azure-Samples/Cognitive-Speech-TTS/tree/master/Samples-Http/NETCore

Please make sure you are using a S0 (no free key) to run stress test.

For example, we run a 2 hour test from Azure DC in China to call Azure southeastasia. All the calls are successfully conducted. The availability > 99.95%

concurrency stress test

If above long time stress pass, one can move to stress test with multiple threads. The basic idea is the same as above but you can create multiple clients that call the service in parallel.

To best simulate the real traffic, estimate the concurrent thread your target scenario need to be at. Then contact with us before doing such stress as we might need to setup capacity if your traffic is too high.

Then doing such concurrency stress test, ramp up the traffic slowly with from small to big number of thread so the service auto scale can handle it.

Clone this wiki locally