我想使用 Azure Web 角色实例来托管一些使用分布式缓存(Windows Azure 缓存)的网站。
什么是 VM 的大小和数量的更好选择:2 个大型VM 或4 个中型VM。
两种情况下的价格和规格相同。我只是想知道是否拥有更多但较小的机器更好。
我想使用 Azure Web 角色实例来托管一些使用分布式缓存(Windows Azure 缓存)的网站。
什么是 VM 的大小和数量的更好选择:2 个大型VM 或4 个中型VM。
两种情况下的价格和规格相同。我只是想知道是否拥有更多但较小的机器更好。
这篇 MSDN 文章,真实世界:选择 Web 角色实例大小时的注意事项:我应该多小?,给出了一些好的建议。使用较小实例的一个好处是您可以在低流量期间关闭一个或多个实例。但是,如果您致力于持续运行相同数量的实例,则较大的实例(根据文章)将表现更好。
由于您使用的是缓存集群,因此每个新 VM 都会因所需的操作系统资源而花费您一定百分比的整个集群 RAM。我会使用大型虚拟机来最大化缓存集群的可用 RAM 资源并减少操作系统本身占用的 RAM 量。
在本地缓存不包含给定缓存键的情况下,我还将使用大型 VM 来减少网络延迟。由于缓存是分布式的,因此在双角色场景中,它在本地 RAM 中与远程机器的 RAM 中的几率为 50-50。如果您有 4 个中型 VM 角色,网络延迟将会增加,因为缓存在本地 RAM 中的缓存命中率只有 25%。
不过,确实,您需要确定瓶颈在哪里——缓存并不是唯一需要关注的事情。通常,您希望将每个应用程序请求的响应时间视为一个整体。这可能需要一些真实世界的负载测试,这些测试很容易使用 Azure 门户和部署配置进行配置。