【发布时间】:2019-10-17 00:45:04
【问题描述】:
我正在寻找指南以最大限度地提高吞吐量并最大限度地减少 gRPC 一元调用的延迟。我需要达到大约 20,000 QPS,每个
【问题讨论】:
-
gRPC 的 benchmarking suite 显示使用 TLS 的 8 核 GCE VM 的延迟为 195µs(对于单个 RPC)和 245k QPS。有很多因素会影响结果,但最基本的是基准测试的类型、预热量和网络。您的数字与预期相差甚远,我通常认为这是因为没有预热期让 JIT 有时间优化代码,但这是在黑暗中拍摄。
-
感谢@EricAnderson。我现在在 AWS r4.2xlarge 实例上同时运行客户端/服务器。我得到了更好的吞吐量 - 50K(预热后)和预期的低延迟。客户端是单线程的。两个客户端/服务器实例的 CPU 为 ~200%(使用了两个线程)。我怎样才能挤出更多的性能?