Each application has its own unique usage patterns. It can be very difficult to accurately predict these usage patterns. If you are working with an existing system, then you can take a look at log files and analytics data to get a sense of how your application is used. If this is a new system, then you can create scenarios based on how you expect the application to be used. Generic benchmarking can be of some use, but a test specifically designed for your system will be more useful.
The example load test in this chapter is intended as an illustrative example that can be helpful when you are writing your own tests. However, writing a test that is customized to your application’s usage patterns can be very difficult. An appropriate test for your system will look very different than the example test in this chapter.
There are many tools available that allow you to create tests
customized for your application. However, when creating a distributed system
it can be difficult to actually generate enough load to push your system to
its maximum capacity. In order to stress test a distributed system, you will
need a distributed load testing tool. Tsung is a distributed load
and stress testing tool that we will use for the example this chapter. We
will be using Tsung on Ubuntu, but these steps can be easily adapted to
other platforms. Tsung can generate
POST HTTP requests and, as of version
DELETE HTTP requests. Some of Tsung’s ...