【发布时间】:2021-07-29 22:33:29
【问题描述】:
我想使用 Locust 对 SignalR 服务进行负载测试。我发现以下库可以发送和接收 SignalR 请求:https://pypi.org/project/signalrcore/
现在,根据 Locust 文档,下一步是为 Locust 编写一个可以发送 SignalR 请求的自定义客户端。但是有以下警告:
您使用的任何协议库都必须是 gevent 友好的(使用 Python 套接字模块或其他一些标准库函数,如 子进程),或者您的调用可能会阻塞整个 Locust/Python 过程。
一些 C 库不能通过 gevent 进行猴子修补,但允许 其他解决方法。例如,如果您想使用 psycopg2 来 性能测试PostgreSQL,可以使用psycogreen
我是 Python 的初学者,所以我不明白它的确切含义。我正在使用的库“signalrcore”是 100% 同步的。这是否意味着我不能将它与 Locust 一起使用? 我发现了一个使用 asyncio 的 signalrcore 分支。我应该改用那个 fork 并确保我所有的信号器调用都是非阻塞的吗?
谢谢!
【问题讨论】: