Locust 压测socket接口样例
import socket
from locust import User, task, between, constant
class SocketUser(User):
# 初始化,建立Socket连接
def on_start(self):
self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.client.connect(('localhost', 8080)) # 替换为目标Socket服务器的地址和端口
# 结束测试,关闭Socket连接
def on_stop(self):
self.client.close()
# 编写自定义的发送和接收数据的方法
def send_and_receive(self, data):
self.client.sendall(data.encode())
response = self.client.recv(1024).decode()
return response
# 定义一个任务,模拟发送数据并接收响应
@task
def test_socket_api(self):
request_data = "Your Socket Request Data" # 替换为实际的请求数据
response = self.send_and_receive(request_data)
# 在此可以根据响应进行断言、处理等操作,根据需求自行扩展
设置性能参数
class SocketUser(SocketUser):
wait_time = constant(0) # 每个任务之间不等待(可以根据需要调整)
运行命令:locust -f your_script_name.py --host=http://your_socket_server
然后访问 http://localhost:8089 进行测试
本文来自博客园,作者:术科术,转载请注明原文链接:https://www.cnblogs.com/shukeshu/p/17591514.html