Using a performance tool such as AgileLoad can give you recommendations on what to do, which are very useful for system tuning. This becomes a cyclical process. Test – Tune – Test – Tune -- Test. Until we’re at a point where the performance engineering cycle is over and the results can be documented properly in a report and the recommendations, if there are any, can be made.
A number of users are going to be going in through the network infrastructure into the application, as well as a number of web servers, application servers and database. We use AgileLoad Center to control AgileLoad injectors. Now, these injectors can run on the same machine as AgileLoad Center or if you’ve got particularly large performance test requirements, you might need to distribute that one to several machines or you might want to distribute the load around the world. For example around your network in order to get an insight on response times from different network locations.
We generate load on the application. We hit the web server, which in turn makes a service request to the application server, which in turn makes a database request to the database and then it sends messages back up the stack. We end it with an end-to-end performance test while this is running AgileLoad can also monitor the performance of each of our infrastructure nodes. Things like CPU or database calls or memory utilization or network utilization and so on. It pulls this altogether and puts it into AgileLoad Center.
Next Agileload analysis and output