【发布时间】:2018-12-31 12:34:30
【问题描述】:
Redis 可以提供亚毫秒级的响应时间。这是一个伟大的承诺。我正在测试heroku redis,我得到1ms 最高大约8ms,对于zincrby。我在 php 中使用 microtime() 来包装调用。这个 heroku redis(我使用的是免费计划)是一个共享实例,并且存在资源争用,因此我希望相同查询的响应时间会有所不同,而且它们肯定会发生变化。
我很好奇通过自制软件在我的 macbook pro 上安装的 redis 与性能差异的原因。那里显然没有网络延迟。我很好奇的是,这是否意味着任何云 redis(即通过网络连接,比如在 aws 中)总是比我拥有一台云服务器并在内部运行 redis 慢很多同一台物理机,从而消除网络延迟?
这些云产品也存在资源争用,除非选择成本更高的私有服务器。
一些数字:我本地的 macbook pro 始终为相同的 zincrby 提供 0.2ms,它在 heroku redis 上介于 1ms 和 8ms 之间。
网络延迟是造成这种情况的原因吗?
【问题讨论】:
-
为了兴趣,区域间延迟总是出现> 10ms:cloudping.co
-
我原本预计与实例在同一 vpc 中的 redis 延迟较低。您是在测试 on-prem + cloud redis,还是 cloud-instance + cloud-redis?
-
@MatthewArthur 这是云实例和云redis。但当然不是,因为容器在同一块硬件上运行。这些是在同一个 aws 区域内运行的容器,我想这就是我们所能知道的。所以问题在于区域内延迟。
标签: amazon-web-services redis cloud heroku-redis