Rendimiento de langosta, serie de entrada basada en cero (11), uso de anzuelos para eventos

Locust nace con muchos event hooks (event hooks) que se pueden utilizar. Además del artículo anterior mencionado, hay algunos que podemos utilizar. Normalmente, estos eventos están en la instancia del entorno Locust (Entorno), pero como sabe, cuando se acaba de cargar el archivo Locust, la instancia del entorno aún no se ha creado. Luego, en el archivo locust, también se puede acceder directamente a los objetos de estos eventos, solo importa la variable locust.events. Cuando se activa el evento, se llamará al método de enlace del evento, puede entenderlo como un método de devolución de llamada. Se explica en combinación con casos específicos.

from locust import events,HttpUser,between,task
@events.request_success.add_listener
def process_success_requests(request_type,name,response_time,response_length,**kwargs):
    print('success Type: {}, Name: {}, ResposeTime: {}, Length: {}'.format(request_type,name,response_time,response_length))

class MyUser(HttpUser):
    wait_time = between(2,5)

    @task
    def open_index_page(self):
        self.client.get("http://www.myweb.com:8000/admin/login/?next=/admin/")

En el caso anterior, por simplicidad, solo se implementa el gancho de evento para procesar correctamente la solicitud. Cuando la solicitud es exitosa, se imprimirá el tipo de solicitud, como GET, POST, etc .; la URL solicitada; el tiempo de respuesta de la solicitud y el tamaño de retorno de la solicitud. La salida de la consola después de la ejecución del archivo locust es:

Hatching and swarming 1 users at the rate 1 users/s (0 users already running)...
[2020-11-27 08:59:30,215] jasondeMacBook-Pro.local/INFO/locust.runners: All users hatched: MyUser: 1 (0 already running)
success Type: GET, Name: /admin/login/?next=/admin/, ResposeTime: 127.31385231018066, Length: 94929
success Type: GET, Name: /admin/login/?next=/admin/, ResposeTime: 108.82806777954102, Length: 94929
success Type: GET, Name: /admin/login/?next=/admin/, ResposeTime: 103.49106788635254, Length: 94929
success Type: GET, Name: /admin/login/?next=/admin/, ResposeTime: 119.99106407165527, Length: 94929
success Type: GET, Name: /admin/login/?next=/admin/, ResposeTime: 98.76322746276855, Length: 94929
success Type: GET, Name: /admin/login/?next=/admin/, ResposeTime: 104.08234596252441, Length: 94929
success Type: GET, Name: /admin/login/?next=/admin/, ResposeTime: 115.71598052978516, Length: 94929

En segundo lugar, los ganchos de tiempo anteriores también se pueden implementar de las siguientes maneras (es decir, en lugar de usar etiquetas, use la forma de asignación de variables)
Rendimiento de langosta, serie de entrada basada en cero (11), uso de anzuelos para eventos

Supongo que te gusta

Origin blog.51cto.com/13734261/2571560
Recomendado
Clasificación