miércoles, 4 de diciembre de 2013

Distributed load testing: Introduction (1/5)

One of the typical tasks required in all the projects when building server side components is testing and specifically load&performance testing.

The first recommendation is the usage of tools or libraries as much as possible.   Please, don't try to reinvent the wheel, there are plenty of libraries and tools for testing for every possible language and type of service.  If your project is simple enough you can probably make use of simple command line tools like apache ab and if it gets more complex there are some tools like jmeter or soapui or frameworks for testing that should fit your needs.  I have to admit my preference is not to use UI tools for testing and in general prefer simple scripts easy to hack, run and maintain.  One thing to remember is that most of those tools are specially suited for HTTP services and testing is usually more complicate for other types of connection oriented protocols.

The second recommendation is to use a solution supporting distributed execution of tests.    That will ensure that your are able to put as much load as needed in the servers under test.   Typically most of the solutions are based on a master node controlling slaves nodes where the master node schedule and submit jobs to the slaves and collect and present the results and stats received from them.

In this series of posts I will explain my approach for load testing of custom non-HTTP services using  python scripts and virtual machines.

No hay comentarios:

Publicar un comentario