gpt4 book ai didi

python - 如何在蝗虫中为单个请求的响应时间编写事件 Hook

转载 作者:太空宇宙 更新时间:2023-11-03 11:19:40 24 4
gpt4 key购买 nike

我计划使用 Locust 测试我的 Web 服务器的性能,下面代码的问题是它只给我平均时间

我的基本代码如下

from locust import HttpLocust, TaskSet, task, events, web
def index(l):
l.client.get("/")

def stats(l):
l.client.get("/stats/requests")

class MyTaskSet(TaskSet):
tasks = [index,stats]

class MyLocust(HttpLocust):
host = "http://127.0.0.1:8089"
min_wait = 2000
max_wait = 5000
task_set = MyTaskSet
request_success_stats = [list()]
request_fail_stats = [list()]

def __init__(self):
super(MyLocust, self).__init__()
locust.events.request_success += self.hook_request_success
locust.events.request_failure += self.hook_request_fail
locust.events.quitting += self.hook_locust_quit

def hook_request_success(self, request_type, name, response_time, response_length):
self.request_success_stats.append([name, request_type, response_time, response_length])

def hook_request_fail(self, request_type, name, response_time, exception):
self.request_fail_stats.append([name, request_type, response_time, exception])

def hook_locust_quit(self):
self.save_success_stats()

def save_success_stats(self):
import csv
with open('success_req_stats.csv', 'wb') as csv_file:
writer = csv.writer(csv_file)
for value in self.request_success_stats:
writer.writerow(value)

最佳答案

这是测量实际响应时间。

这里的问题是,如果有效载荷有多个 URI,那么将记录每个 URI 的响应时间,必须依次排序/在记录结果时删除重复项

关于python - 如何在蝗虫中为单个请求的响应时间编写事件 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45467431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com