Simular usuarios a nuestra web con locust

Locust es una herramienta muy fácil de utilizar con la que podemos simular una cantidad de usuarios en nuestra página web.

Esto es muy útil para saber cuantas visitas es capaz de aguantar nuestra web, y si debemos ampliar o podemos reducir nuestro servidor para ahorrar costes.

Instalando locust

Locust esta programado en python, por lo que para ejecutarlo e instalarlo debemos tener instalado python en nuestro sistema.

Para instalarlo ejecutaremos el comando «pip install locustio», (debemos tener instalado pip en nuestro entorno de python).

Ejecutando el primer test

Debemos crear un fichero en python con un pequeño y fácil código para hacer los get y post que deseamos testear.

from locust import HttpLocust, TaskSet

def index(l):
    l.client.get("/")

class UserBehavior(TaskSet):
    tasks = {index: 2}

    def on_start(self):
        pass

    def on_stop(self):
        pass

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 5000
    max_wait = 9000

Por ejemplo si queremos saber cuantas visitas es capaz de aguantar la página principal de google.es, pondremos una / en la función index.

Guardaremos el fichero de código creado con el nombre «locustfile.py» y ejecutaremos el siguiente comando.

locust --host=http://google.es

Ahora abriremos un navegador y pondremos la siguiente dirección en la barra:

http://127.0.0.1:8089

Esto nos llevará a una web en la que debemos poner el número de usuarios que queremos simular que entran en nuestra web.

Número de usuarios a simular en nuestra web

Una vez que le demos a Start, locust comenzará a insertar usuarios en nuestra web con el ratio que le hayamos puesto en la segunda casilla.

Empezaremos a ver gráficas y resultados como estos.

Gráfica de usuarios simultaneos en nuestra página

En la gráfica de resultados, podemos ver el tiempo de respuesta de nuestro servidor y el número de usuarios que realiza esa carga.

Aquí veremos claramente con cuantos usuarios y cuanto tiempo nuestra web empieza a tardar en responder.

Un dato muy importante también, es cuantas peticiones ha dejado de responder nuestro servidor.

Este dato puede ser 0 porque nuestro servidor, aunque tardando, a conseguido responder todas las peticiones que le han solicitado.

Y para terminar el porcentaje de fallos que hemos tenido y los usuarios por segundo.

Deja un comentario