您可以帮助我进行容量规划吗?


132

这是关于容量计划规范问题

有关:

我对容量规划有疑问。Server Fault社区是否可以提供以下帮助:


  • 我需要哪种服务器来处理一定数量的用户?
  • 某些规格的服务器可以处理多少个用户?
  • 一些服务器配置是足够快,我的使用情况
  • 我正在建立一个社交网站:我需要哪种硬件?
  • 一些项目我需要多少带宽?
  • 某些应用程序中将有多少用户使用多少带宽?

Answers:


97

Server Fault社区通常无法帮助您进行容量规划-我们可以提供的最佳答案是“在与生产中将使用的硬件类似的硬件上对代码进行基准测试,确定瓶颈,然后确定您的工作量是多少当前的硬件可以处理和/或处理目标工作负载需要多少硬件能力”


容量规划中有许多因素在起作用,我们无法在“问答网站”上充分评估这些因素:

  • 您的特定代码/软件的要求
  • 外部资源(数据库,其他软件/站点/服务器)
  • 您的工作量(峰值,平均,排队)
  • 绩效的业务价值(成本/收益分析)
  • 用户的性能期望
  • 您可能拥有的任何服务水平协议/合同义务

对这些因素和其他因素进行适当的分析超出了简单的问答站点的范围:它们需要有关您的环境和要求的详细知识,只有您的团队(或得到适当报酬的顾问)才能有效地收集这些知识。


一些容量规划公理

  1. RAM很便宜
    如果您希望您的应用程序使用大量RAM,那么您应该尽可能多地放入/负担得起的RAM。
  2. 磁盘很便宜
    如果您希望使用大量磁盘,则应该购买大型驱动器-其中很多。
    SAN / NAS存储的价格便宜一些,通常也应将规格指定为大而不是小,以避免以后进行昂贵的升级。
  3. 工作量随时间而增长
    假设您的资源需求将增加。
    请记住,增长可能不是对称的(CPU和RAM的增长可能快于磁盘),并且可能不是线性的。
  4. 电力昂贵
    尽管RAM和磁盘的价格已大大降低,但电力成本却在稳步上升。所有这些额外的磁盘和RAM,更不用说CPU能力,都会增加电费(或您付给提供商的电费)。制定相应的计划。

1
您应该完全放弃它并使用部分集成!
吉尔斯

+1。正如您在第一号公理中所建议的那样,RAM是具有巨大好处的事物之一。例如,它提高了更好地利用缓存的能力,从而减少了对数据库的查询,从而减轻了磁盘和CPU的负担。我常常对托管提供商感到沮丧,这些提供商在其服务器中提供了快速的CPU和最少的RAM。
Steve Wortham

31
我要补充一点:磁盘容量很便宜。磁盘性能变得昂贵。尤其是当我们看到磁盘大小超过10年增长时,但是物理定律没有改变。我使用的经验法则(截至今天; 2014年6月)是为了实现最佳性能:SATA上每个主轴75 IOP,FC上每个主轴200 IOP,每个SSD 1500 IOP。大型SATA驱动器的每千兆字节比率的IO确实非常差。
Sobrique 2014年

在2019年中期,没有人应该再购买主轴驱动器了。
罗伯特·哈维

@RobertHarvey没有人应该再购买SAS主轴驱动器。要获得petabox规模服务器的容量,仍然需要购买许多SATA驱动器,否则您将付出很多。
Mikko Rantalainen

44

虚拟机计数计划

在计算单个主机上应计划的虚拟机数量时,实际上并没有很好的经验法则。实际上,只有一种,而且只有一种善良:

虚拟机计数通常受RAM限制,除非不是。

这不是非常有帮助。如果这些VM将运行低CPU应用程序,那么您的限制器将基于RAM。每个VM平台都有其自己的超额订阅RAM的能力,因此它不像TOTAL_RAM / Per-VM-RAM = MachineCount那样容易,但是该数目是一个很好的计划项目。

但是,如果您的VM除了低CPU数据包发送功能之外还执行其他操作,该怎么办?


虚拟机计数受主机可用的七个离散资源限制:

  • 虚拟机监控程序 VMware,Xen,HyperV,KVM等。每个都有其自己的影响计数的功能。有些非常擅长内存页面重复数据删除,有些则不是那么好。有些不允许超额使用CPU容量,有些则允许。
  • CPU核心速度这限制了VM能够运行的最大单线程性能。1.8 GHz CPU的36个内核可能是主机上的64.8 GHz CPU,但是没有一个线程的运行速度会超过1.8 GHz。
  • CPU核心数量这以核心速度描述了您可以体验的最大CPU性能的上限。
  • 系统RAM如上所述,这限制了您可以运行的VM的数量。某些虚拟机管理程序在内存页面重复数据删除方面比其他虚拟机管理程序要好,因此,如果您运行100个相同的VM,则与运行100个完全不同的VM相比,在这种重复数据删除系统上可以打包更多的虚拟机。
  • 磁盘大小每个OS映像都占用一定数量的空间。您需要足够的空间来存储所有内容。因此,磁盘大小对可以承载的VM数量设置了上限。
  • I / O带宽 VM底下的磁盘具有最大每秒可处理的I / O数。如果您投入过多,系统将陷入困境,等待I / O完成。这对可以运行多少个消耗I / O的VM设置了上限。
  • 网络带宽对于使用网络的VM,可用的网络带宽将限制您可以在给定主机上运行的此类VM的上限。

所有这些都可能是您绊倒的事情,这完全取决于您对VM所做的工作。要记住的一些事情:

  • 没有通用系统。
  • 没有通用的Web服务器,因为应用程序代码可以从针刺般的CDN风格的服务运行到诸如视频转码之类的重大漏洞。
  • 没有通用的数据库服务器。这些可以从仅用于会话状态跟踪的微型系统运行到非常大的系统。

要弄清楚可以打包到一个主机系统中的虚拟机数量,您需要知道系统如何运行以及它们需要什么才能正常运行。知道这一点后,就可以进行计数计划了。更好的是,弄清楚制作主机系统所需的功能!


最重要的是,请在具有独立虚拟机的两个单独的物理服务器上使用基于虚拟机的系统。这允许硬件故障而不会损失整个系统。虚拟机可以在相同的服务器之间移动而不会丢失数据。只是会话丢失,然后重新构建。就个人而言,我将外包给提供这些服务的托管公司(谷歌或亚马逊)。它们很昂贵,但是比自己运行要便宜得多。
Random-IT

2
我在VM实现中最常看到的东西是磁盘I / O。大多数人了解磁盘空间,CPU速度和内存。他们忘记了磁盘性能。
丹·普里茨

6

确保您在问正确的问题。

  • 电脑便宜
  • 未来的需求很难预测
  • 计划如何扩展,而不是提前购买

如果您不知道需要什么,则意味着您不需要太多。如果您的网站很热门,那么您可能还会有一个运营团队,他们知道您的应用程序需要多少内存,磁盘,IO,网络等。如果您正在做梦,则应从桌面开始,然后逐步进行。

确保您有所了解,当事情变大时如何扩展。您可以在负载均衡器后面添加更多服务器吗?您可以分片redis服务器吗?

此外,拥有自己的数据中心也很糟糕。数据中心(即使只是一台计算机)也会干扰您的实际用途。您不仅可以购买一台计算机,然后将其打开然后走开。您需要空调,空气过滤器,可靠的电源,可靠的互联网,备用设备,备件,要增长的物理空间,要增长的电源容量,不会绊倒的电源线以及成千上万的其他麻烦。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.