Azure VM定价 - 拥有80台单核机器或10台8核机器会更好吗?

sha*_*mek 8 azure azure-virtual-machine azure-powershell

我受到一个软件的限制,该软件在每个程序运行实例中使用一个核心.它将运行SQL服务器工作队列并将结果存入服务器.因此,我运行的实例越多,整个项目的完成速度就越快.我曾经使用过Azure VMs,可以通过两种方式加快这一过程.

1)我可以在单个核心虚拟机上运行该应用程序,克隆该虚拟机并在我认为必要的情况下运行它,以充分加快工作速度.

要么

2)我可以在8核VM上运行应用程序8次...再次克隆该VM并在我认为必要的情况下运行它以充分加快工作.

我在测试中注意到,添加8个单核VM和1个8核VM的速度大致相同.假设这是真的,拥有单核机器的价格会更好吗?

定价有点神秘,无论是真正的CPU使用时间,还是什么.使用1-8核心方法更容易,因为旋转机器并将它们拆除需要时间,但我想这可以自动化.

从某些定价页面看,多核单核VM方法的成本会降低吗?

附带问题:我可以像一些电源shell脚本一样继续添加某个映像的虚拟机并运行应用程序,然后在接近完成后开始关闭它们吗?在生成虚拟机后,是否有一些方法可以启动应用程序而无需远程访问每个虚拟机并运行它?

Noa*_*ahl 12

我认为所有其他条件相同,并且这段代码真正受CPU限制,并且不会受益于在同一台机器上运行多个进程所提供的任何内存共享,您应该选择单核机器而不是多核机器.

原因:

隔离故障域

在可能的情况下,缩小而不是向上扩展更好,因为它可以自然地隔离故障.如果您的一个小节点崩溃,那只会影响一个进程.如果大型节点崩溃,则多个进程会关闭.

负载均衡

与任何多租户系统一样,Windows Azure是共享资源.这意味着您可能会与其他工作负载竞争CPU周期.使用小型VM可以让您更好地分配数据中心中物理服务器,这些服务器在配置计算机时具有最佳资源状况(您可能希望确保在再次启动VM之前停止和取消分配VM Azure结构放置算法,以选择最佳主机).如果您使用大型VM,则不太可能找到具有最佳争用的合适主机以容纳许多虚拟核心.

虚拟处理器调度

人们并没有广泛理解如何安排虚拟CPU与安排虚拟CPU不同,但这是值得一读的.要记住的主要事情是VMware ESXi和Hyper-V(运行Azure)等虚拟机管理程序将多个虚拟核心安排在一起而不是单独安排.因此,如果您有一个8核VM,则物理主机必须同时拥有8个物理核心才能允许虚拟CPU运行.虚拟内核越多,主机在任何给定时间就越不可能拥有足够的物理内核(即使有7个物理内核空闲,VM也无法运行).这可能导致虚拟化效果导致VM在添加更多虚拟CPU核心时表现更差.http://www.perfdynamics.com/Classes/Materials/BradyVirtual.pdf

简而言之,单个vCPU机器比8个vCPU机器更有可能获得物理处理器的份额,其他条件相同.

我同意定价基本相同,只是存储许多小型VM的存储成本稍高,而较小型VM存储成本较少.但Azure中的存储远比计算机便宜,因此很可能不会给经济规模带来任何影响.

希望有所帮助.

  • 在我们的负载测试中,我们发现了这种"矛盾效应" (3认同)

Fer*_*eia 5

开票

根据Windows Azure虚拟机定价详细信息,虚拟机按分钟(挂钟时间)收费.价格按小时费率(60分钟)列出,并根据虚拟机运行部分小时的总分钟数计费.

2013年7月,1个小型虚拟机(1个虚拟核心)的成本为每小时0.09美元; 8个小型虚拟机(8个虚拟核心)的成本为每小时0.72美元; 1个超大型虚拟机(8个虚拟核心)的成本为每小时0.72美元(与8个小型虚拟机相同).

VM大小和性能

VM的大小不仅在于内核和RAM的数量,还在于网络I/O性能,从小型100 Mbps到超大型800 Mbps.

超小型虚拟机的CPU和I/O功率相当有限,并且不适合您所描述的工作负载.

对于单线程,I/O绑定应用程序(如问题中所述),超大型VM可能具有优势,因为每个请求的响应时间更快.

建议对每个核心运行2,4或更多进程的工作负载进行基准测试.例如,小型VM中的2个或4个进程以及超大型VM中的16个,32个或更多个进程,以在CPU和I/O负载之间找到适当的平衡(假设您没有使用比可用RAM更多的RAM).

自动缩放

自动扩展虚拟机直接内置于Windows Azure中.它可以基于CPU负载或Windows Azure队列长度.

另一种方法是使用专用工具或服务来监视服务器之间的负载,并运行PowerShell脚本以根据需要添加或删除虚拟机.

自动运行

您可以使用Windows计划程序在Windows启动时自动运行任务.