目前,我正在运行一个 Web 应用程序,其中有 9 个 VPS 服务器连接到负载均衡器。由于我的 Web 应用程序流量不断增加,我一直在购买新的 VPS 来处理负载。管理这么多 VPS 非常烦人,我真的没有时间学习 Puppet/Chef。
我想知道,如果我购买 2 台高端专用服务器,假设我的 Ubuntu/Apache 配置将被克隆到它们上,我是否会获得更多输出?有没有办法估算我将获得的每秒命中率的增益/损失?目前,我的大多数 VPS 都是 8GB 内存且 CPU 优先级较低。
这是我现在的音量水平:http://cl.ly/image/47361d15472p
我经常会遇到高达 2k/秒的峰值。我的 VPS 系统似乎最高可达约 850/秒。
下一步是否要专心做事?
答案1
一般来说,你会考虑使用专用硬件:
- 当您需要更高的性能时。
众所周知,与中端服务器相比,云计算机器的功耗非常低。中端服务器是双插槽机器(过去几年的“定义”是:超过 2 个插槽的机器是高端服务器,单插槽的机器是低端服务器),我很难找到类似的虚拟机。 - 当您需要较低的每月价格时。
大多数 VPS 的价格相当高 - 除非是专用/预付费(即预留一年)。云是可扩展的,但每小时价格乘以您的使用量可能会是服务器成本的数倍。 - 当某些时间问题至关重要时。
在某些情况下,虚拟化会使时钟不稳定。在大多数情况下这不是问题,但多年来我一直无法以毫秒精度保持正确的时间戳。
较新的虚拟化平台在这方面做得更好(似乎可以与最新的 Hyper-V 配合使用)。 - 当您需要特殊配置时。
比如说,对于快速或非常大的磁盘阵列,您希望对布局有更多的控制权。高端数据库 (Oracle) 因这种要求而臭名昭著。
就是这样。
请注意,对于您而言,VPS 上有很多空间 - 我有 8 核机器,内存为 48GB,为客户运行大型数据库。对于您而言,决定可能会围绕价格进行。我的一台桥接机器(由于时间敏感性,位于特定位置以运行靠近该位置的代码的机器)是一台 16GB 内存机器,具有 8 核 + 超线程,它被认为是一台低功耗机器。
我会开始向你的主机商咨询这个问题 - 他们可能会提出合理的替代方案,同时考虑价格。对于你的情况,云服务器可能不错,因为你可以在非高峰时间减少虚拟机数量(节省资金)并进行滚动更新。这是“云”托管的一个主要优势 - 运行虚拟机数量的灵活性。高峰期?增加另外 10 个。夜间?减少大多数。真正的服务器不提供这种灵活性。
答案2
如今,这个问题已经越来越过时了。然而,对于专用虚拟机和云虚拟机,仍然有很多要求。
优点:
- VM 更加灵活
- 动态资源分配(RAM、CPU、存储)
- 如果出现硬件错误或硬件升级,虚拟机可以透明地迁移到另一个硬件(高可用性和容错)
- 分配过时的 CPU 模型时更安全
- 性能或吞吐量可扩展
缺点:
- 在性能和延迟方面,真实硬件节点总是比虚拟机更快
- 设置虚拟化总是比较困难且耗时
- 与虚拟机相比,如果发生硬件故障,硬件节点的恢复时间较长,因此它们不灵活且停机时间更长
对于您来说,我会首先将大型静态文件转移到 S3 之类的存储服务器。