2017-08-02 60 views
1

我打算用蝗蟲來測試性能我的網絡服務器, 與下面的代碼的問題是,它只是給我的平均時間如何寫事件的鉤子蝗蟲對個人的響應時間要求

我的基本代碼如下

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) 

回答

0

這是測量實際的響應時間。

這裏美中不足的是,如果有效載荷具有多個URI的則響應時間爲每個將被記錄,其具有同時記錄的結果被依次排序/除去重複

相關問題