【发布时间】:2020-12-15 18:15:41
【问题描述】:
我正在使用grpc.aio.server,我遇到了一个问题,如果我尝试对我的服务进行负载测试,它会有一些请求滞后 10 秒,但请求是相似的。负载稳定(200rps),几乎所有请求的延迟都差不多。我可以接受更高的延迟,只要它是稳定的。我试过用谷歌搜索类似异步任务优先级的东西,但在我看来,这意味着等待很长时间的任务的优先级有问题,但它们已经完成或完整的请求任务正在等待开始很久了。
例如,向 gRPC 服务发送了 1000 个请求,它们都具有相同的执行逻辑、相同的数据库实例、对数据库的相同查询、相同的时间从数据库中获取结果等等,一切都是一样的。我看到了,例如第 10 个请求延迟为 10 秒,但第 13 个请求延迟为 5 秒。我还可以在日志中看到,数据库查询的执行时间几乎相同。
有什么建议吗?可能我理解错了
【问题讨论】:
标签: python asynchronous architecture python-asyncio grpc