gpt4 book ai didi

Azure VM 定价 - 拥有 80 台单核机器还是 10 台 8 核机器更好?

转载 作者:行者123 更新时间:2023-12-04 05:13:04 27 4
gpt4 key购买 nike

我受到一个软件的限制,该软件每个运行的程序实例都使用一个核心。它将运行 SQL Server 工作队列并将结果存入服务器。因此,我运行的实例越多,整个项目完成的速度就越快。我对 Azure VM 进行了一些尝试,可以通过两种方式加快该过程。

1) 我可以在单核虚拟机上运行该应用程序,克隆该虚拟机并在我认为必要的尽可能多的虚拟机上运行它,以充分加快工作速度。

或者

2) 我可以在 8 核虚拟机上运行该应用程序 8 次,...再次克隆该虚拟机并在我认为有必要的尽可能多的虚拟机上运行它,以充分加快工作速度。

我在测试中注意到,添加 8 个单核虚拟机和 1 个 8 核虚拟机的加速效果大致相同。假设这是真的,那么使用单核机器在价格上会更好吗?

定价有点神秘,无论是真实的CPU使用时间,还是什么。使用 1 个 8 核方法要容易一些,因为启动机器并关闭它们需要时间,但我想这可以自动化。

从一些定价页面来看,多个单核虚拟机方法的成本确实会更低?

附带问题:那么我是否可以喜欢一些 Power shell 脚本来继续添加特定镜像的虚拟机并运行应用程序,然后在接近完成时开始关闭它们?生成虚拟机后,是否有某种方法可以启动应用程序,而无需远程访问每个虚拟机并运行它?

最佳答案

我认为,在其他条件相同的情况下,并且该代码确实受 CPU 限制,并且没有受益于在同一台计算机上运行多个进程所提供的任何内存共享,您应该选择单核计算机 而不是多核机器。

原因:

隔离故障域

如果可能的话,横向扩展比纵向扩展更好,因为它可以自然地隔离故障。如果你的一个小节点崩溃了,那只会影响一个进程。如果一个大节点崩溃,多个进程就会宕机。

负载均衡

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

虚拟处理器调度

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

简而言之,在其他条件相同的情况下,单个 vCPU 计算机比 8 个 vCPU 计算机更有可能获得物理处理器份额。

我同意定价基本相同,只是存储许多小型虚拟机的存储成本比存储更少的大型虚拟机的存储成本要高一些。但 Azure 中的存储远低于计算成本,因此可能不会产生任何经济规模。

希望有帮助。

关于Azure VM 定价 - 拥有 80 台单核机器还是 10 台 8 核机器更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17661248/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com