如何解决我如何使用 Python gRPC
作为问题的答案:how-do-i-handle-streaming-messages-with-python-grpc,@Nathaniel 提供了处理请求和响应的解决方案。
但是当我想统计每个响应的处理时间时,它看起来不太正确。例如,我在 stream_iter
中睡眠了 200 毫秒,但 tr
甚至不到 200 毫秒。我的代码:
t0 = time.time()
for rsp in stub.Process(stream_iter()):
tr = (time.time() - t0) * 1000
print(tr)
t0 = time.time()
...
所以我想知道如何计时?
解决方法
很难判断给定的片段有什么问题。我建议创建一个完整的复制案例作为 https://github.com/grpc/grpc/issues 的问题。
这里有一些可能性:
- 流量控制,客户端/服务器可能会缓冲它收到的消息,因此在某些情况下您可能会看到小爆发。
- 迭代器中的错误,例如,我们想在
__next__
中休眠,但可能不小心在__iter__
中注入了 sleep。
通常,如果您调整规模和吞吐量,噪音应该会消失。您可以用来衡量每个响应的延迟时间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。