Implementar un cliente multihilos para pruebas.
Descripción.-
Con la finalidad de realizar pruebas de esfuerzo a un servidor de transacciones, me pidieron modificar un programa en Python (2.7). Pero decidí, por cuenta propia, hacerlo en Groovy. De todas formas, el tiempo que me hiba a tomar entender el programa y modificarlo, no podría exceder el tiempo que hacerlo en un script.
Fue la decisión correcta, porque el luego me pidieron que lea y generé información de la BBDD. Pero en este ejemplo, solo mostraré cómo implementar un script para generar multiples hilos que ejecuten un procedimiento en concreto. Intenten hacerlo en Java y notarán la diferencia en líneas de código.
Entonces, el procedimiento lo definimos en myClosure: capturar el tiempo (epoch) y determinar una velocidad entre 0 y 80. Se imprime el resultado y luego espera cinco segundos. El tiempo es definido al principio.
Se van a crear la cantidad de hilos que defina el usuario. Por defecto será diez, en caso no se indique en el comando de ejecución. La variable cantHilos, se debe anotar con @Field para poder hacerlo global en el script.
Para ejecutarlo, nos ubicamos en la carpeta del script y en línea de comandos escribimos:
groovy MultiClient 100
PD: En esta ocasión usé el editor Brackets. Debo mencionar que el "sintaxis highlight" se comporta de forma correcta.
Código Fuente.-
https://github.com/edgargs/MultiClientScript.git
Bibliografía.-
http://www.tothenew.com/blog/how-to-use-thread-pooling-using-groovy/
https://stackoverflow.com/questions/6305910/how-do-i-create-and-access-the-global-variables-in-groovy
Configuración.-
Groovy 2.4.8
Java 1.8
Brackets 1.9