1.Как я должен поддерживать жизнь?2. Как рассчитать время отклика?
Я переписал громче всего по данным онлайн-блога
класс WebSocketClient (объект):
def __init__(self, host):
self.host = host
self.ws = websocket.WebSocket()
def connect(self, burl, name):
start_time = time.time()
try:
self.conn = self.ws.connect(url=burl)
except websocket.WebSocketTimeoutException as e:
total_time = int((time.time() - start_time) * 1000)
events.request_failure.fire(request_type="websocket", name=name+"_error", response_time=total_time, exception=e)
flag = False
return flag
else:
total_time = int((time.time() - start_time) * 1000)
events.request_success.fire(request_type="websocket", name=name+"_right", response_time=total_time, response_length=0)
return self.conn
def recv(self):
return self.ws.recv()
def send(self, msg):
self.ws.send(msg)
def close(self):
self.ws.close()
класс WebsocketLocust (Locust):
def __init__(self, *args, **kwargs):
super(WebsocketLocust, self).__init__(*args, **kwargs)
self.client = WebSocketClient(self.host)
class SearchTest (TaskSet):
@task
def searchtest(self):
self.url = 'wss://api.bbxapp.vip/v1/ifcontract/realTime'
self.client.connect(self.url, name='chat_room')
flag = True
while flag:
data ={"action":"ping"}
data =json.dumps(data)
self.client.send(data)
globals = {'true': 0}
recv = self.client.recv()
recv=json.loads(recv)
if recv["data"]== "pong":
self.client.send(data)
else:
flag = False
Name # reqs # fails Avg Min Max |Медиана req / s
chat_room_right 1 0 (0,00%) 3089 3089 3089 |3100 0,00
Всего 1 0 (0,00%) 0,00
среднее время очень длинное , я думаю, что "total_time = int ((time.time () - start_time) * 1000)"есть несколько ошибок.
пожалуйста, помогите мне