这听起来可能又像是另一个问题,“什么是 vcpu”或“我应该使用 elasticache 吗,记住它是单线程的!!” --- 但我认为这提出了一个未回答的问题。
redis 是单线程的,这意味着只会使用一个核心。
elasticache 是 redis 的托管服务。AWS 为 elasticache 提供了多种实例类型,具有不同的内存大小和 vCPU 数量。
AWS 知道即使实例具有多个 vCPU,性能也仅限于其中一个 vCPU。
所以我的问题是:所有实例类型都会遭受相同的性能损失吗?当然,如果一台计算机有 2 GHz 处理器,而另一台计算机有最新一代 3 GHz 处理器——后者的性能会更好。
但是,AWS 的 vCPU 很神秘,不会透露其处理器型号或时钟速度。当然,0.729/小时的 cache.r3.8xlarge 的性能应该比 0.046/小时的 cache.r4.large 更好。但是,尽管一个有 2 个 vCPU,而另一个有更多(网站没有列出数量)……它们都只使用 1 个 vCPU。从逻辑上讲,我认为这是相同的性能。
我无法相信支持 32+ GB 内存的处理器的性能会与支持 2 GB 内存的处理器相同。在更高的价格范围内,我不得不相信处理器的档次要高于入门级价格范围。
如果尝试将现有实例转换为 elasticache,似乎可以匹配功能不足且不合适的 elasticache。即使内存超出了其要求。或者相反,为不必要的缓存支付过多的费用,但仍然满足内存要求。
CPU 性能真的一样吗(某种程度上)?如果一样,那么缓存的超高成本仅适用于内存和网络;完全忽略 CPU。