这是有关容量规划的规范问题
相关:

如何进行网站的负载测试和容量规划?
如何数据库的负载测试和容量规划吗?


我对容量规划有疑问。服务器故障社区是否可以提供以下帮助:


我需要哪种服务器才能处理一定数量的用户?
具有某些规格的服务器可以容纳多少用户?处理?
某些服务器配置是否足够快以适合我的用例?
我正在建立一个社交网站:我需要哪种硬件?
我需要多少带宽?一些项目?
一些应用程序将使用多少用户带宽?


#1 楼

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


容量规划中有许多因素在起作用,我们不能充分考虑这些因素在问答网站上进行评估:


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

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


一些容量规划公理




RAM很便宜
如果您希望您的应用程序使用大量RAM,那么您应该尽可能多地放入/负担得起的RAM。

磁盘很便宜
/>如果您希望使用大量磁盘,则应该购买大型驱动器-其中很多。
SAN / NAS存储价格便宜一些,通常也应该指定大型而不是小型,以避免以后进行昂贵的升级

工作量随时间增长
假设您的资源需求将增加。
请记住,这种增长可能不是对称的(CPU和RAM的增长速度可能比磁盘快),并且它可能不是线性的。

电价格昂贵
尽管RAM和磁盘的价格已大幅下降,但电力成本却在稳步上升。所有这些额外的磁盘和RAM,更不用说CPU能力,都会增加电费(或您付给提供商的电费)。制定相应的计划。


评论


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

–吉尔斯'所以-不再是邪恶的'
13年5月28日在19:13

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

–史蒂夫·沃瑟姆(Steve Wortham)
13年5月28日在23:03



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

–Sobrique
2014年6月11日10:52

在2019年中期,没有人应该再购买主轴驱动器了。

–罗伯特·哈维(Robert Harvey)
19年5月8日在17:49

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

– Mikko Rantalainen
19年6月24日在11:43

#2 楼

虚拟机计数计划

计算单个主机上应计划的虚拟机数量时,实际上并没有很好的经验法则。实际上,只有一个,这只是一种好习惯:


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

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

但是如果您的虚拟机除了在执行低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上相比,在这种重复数据删除系统上可以打包更多的虚拟机。
< br磁盘大小每个OS映像都占用一定数量的空间。您需要足够的空间来存储所有内容。因此,磁盘大小对可以承载的VM数量设置了上限。

I / O带宽VM下方的磁盘每秒可以处理的最大I / O数最大。如果您投入过多,系统将陷入困境,等待I / O完成。这为您可以运行多少个消耗I / O的VM设置了上限。

网络带宽对于使用网络的VM,可用的网络带宽将为您可以运行多少个此类VM设置上限。给定的主机。

这些都是您要经历的事情,这完全取决于您对VM所做的工作。要记住一些事情:


没有通用系统。

没有通用Web服务器,因为应用程序代码它可以从针刺般的CDN风格的服务运行到视频转码之类的深层漏洞。

没有通用的数据库服务器。它们可以从仅用于会话状态跟踪的小型系统运行,甚至可以运行到非常大的系统。


要弄清楚可以将多少个VM打包到一个主机系统中,您需要了解您的系统如何运行以及运行良好所需的条件。知道这一点后,就可以进行计数计划了。更好的是,弄清楚制作主机系统需要多么强大!

评论


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

–Random-IT
15年3月19日在16:07

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

–丹·普里兹(Dan Pritts)
16年2月19日在17:31

#3 楼

确保您问的是正确的问题。


计算机很便宜
未来的需求很难预测
计划如何扩展,而不是预先购买时间

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

请确保您已经知道在事情变大时如何扩展。您可以在负载均衡器后面添加更多服务器吗?您可以分片redis服务器吗?

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