题 你能帮助我完成容量规划吗?


这是一个 规范问题 关于 容量规划

有关:

我对容量规划有疑问。服务器故障社区可以帮助解决以下问题:


  • 我需要处理什么样的服务器 一些数字 用户?
  • 服务器可以有多少用户 一些规格 处理?
  • 一些服务器配置 足够快 我的用例
  • 我正在建立一个社交网站:我需要什么样的硬件?
  • 我需要多少带宽 一些项目
  • 带宽多少 一些数字 用户使用 一些申请

131
2018-04-30 19:20






答案:


服务器故障社区通​​常无法帮助您进行容量规划 - 我们可以提供的最佳答案是 “在硬件上对您的代码进行基准测试,类似于您将在生产中使用的代码,识别任何瓶颈,然后确定当前硬件可以处理多少工作负载,和/或处理目标工作负载所需的硬件功率”


在容量规划中有许多因素在我们无法在问答网站上进行充分评估:

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

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


一些容量规划公理

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

94
2018-01-17 15:46



你应该完全放弃它并使用部件集成! - Gilles
+1。正如你在公理#1中所建议的那样,RAM就是其中一个具有巨大优势的东西。例如,它提高了您更好地利用缓存的能力,从而使您可以减少数据库查询次数,从而减轻磁盘和CPU的负担。托管服务提供商提供快速CPU及其服务器和少量RAM,我常常感到沮丧。 - Steve Wortham
我想补充一点:磁盘 容量 很便宜磁盘 性能 变得昂贵。特别是当我们看到磁盘大小超过10年时,但物理定律没有改变。我使用的经验法则(截至今天; 2014年6月)是为了获得最佳性能:SATA上每个主轴75个IOP,FC上每个主轴200个IOP,每个SSD 1500个IOP。大SATA驱动器的每GB吞吐量非常差。 - Sobrique


虚拟机计数规划

在确定单个主机上应该计划多少个虚拟机时,实际上没有真正好的经验法则。事实上,只有一个,它只是一种好的:

虚拟机计数通常由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个相同的虚拟机,则可以在此类重复数据删除系统上打包更多,而不是运行100个完全不同的虚拟机。
  • 磁盘大小 每个OS映像占用一定的空间。你需要足够的空间来存储它。因此,磁盘大小会为您可以托管的VM数量设置上限。
  • I / O带宽 VM底层的磁盘最多可以处理每秒的I / O数。如果你投入太多,系统将陷入困境,等待I / O完成。这为您可以运行的I / O消耗VM数量设置了上限。
  • 网络带宽 对于使用网络的VM,可用的网络带宽将限制您可以在给定主机上运行的此类VM的数量。

所有这些都可能是你绊倒的事情,这一切都取决于你对你的虚拟机所做的事情。要记住一些事情:

  • 没有通用系统这样的东西。
  • 没有通用的Web服务器这样的东西因为应用程序代码可以从几乎不动的针上运行 CDN风格服务,视频转码等大型深层次的东西。
  • 没有通用数据库服务器这样的东西。这些可以从用于会话状态跟踪的小型系统运行到非常大的系统。

要确定可以将多少个虚拟机打包到主机系统中,您需要了解系统的运行方式以及运行良好所需的内容。一旦你知道了,你就可以进行计数规划。更好的是,弄清楚制作主机系统需要多么强大!


42
2018-02-06 20:32



最重要的是,在具有未绑定虚拟机的两个独立物理服务器上使用基于虚拟机的系统。这样可以在不损失整个系统的情况下实现硬件故障。 vm可以在相同的服务器之间移动而不会丢失数据。会议迷路,然后重建。就个人而言,我会外包给提供这些服务的托管公司(谷歌或亚马逊)。它们很贵,但比运行自己的要便宜得多。 - Random-IT
我在VM实现中经常看到的最常见的是磁盘I / O.大多数人都了解磁盘空间,CPU速度和内存。他们忘记了磁盘性能。 - Dan Pritts


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

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

如果你不知道你需要什么,这意味着你不需要太多。如果你有一个热门网站,你也可能还有一个运营团队,他们知道你的应用需要多少内存,磁盘,网络,网络等。如果您正处于梦想阶段,您应该从桌面开始,逐步完成工作。

确保你有一些想法,当事情变得更大时你将如何扩展。您可以在负载均衡器后面添加更多服务器吗?你可以为redis服务器进行分片吗?

此外,拥有自己的数据中心很糟糕。数据中心(即使它只是一台计算机)会分散您的实际目的。你不能只买电脑,打开它,然后走开。您需要空调,空气过滤,可靠的电力,可靠的互联网,备份,备件,增长的物理空间,增长的动力容量,不会被绊倒的电力电缆以及其他令人头疼的问题。


4