正如您可以在此处找到水平应用程序缩放的最佳实践,垂直缩放比水平缩放要昂贵得多:
垂直扩展成本呈指数增长,而水平扩展成本是线性的。
为什么会这样?
垂直扩展意味着“为现有机器增加更多功率”,而水平扩展意味着“增加更多机器”。
在我看来,升级现有机器应该更便宜,因为一些部件已经存在,你只需要购买额外的处理器、内存等,而购买全新的机器应该会导致更高的成本。
正如您可以在此处找到水平应用程序缩放的最佳实践,垂直缩放比水平缩放要昂贵得多:
垂直扩展成本呈指数增长,而水平扩展成本是线性的。
为什么会这样?
垂直扩展意味着“为现有机器增加更多功率”,而水平扩展意味着“增加更多机器”。
在我看来,升级现有机器应该更便宜,因为一些部件已经存在,你只需要购买额外的处理器、内存等,而购买全新的机器应该会导致更高的成本。
在某些情况下(也许是大多数情况下),服务器在物理上已经满负荷。CPU 数量的增加需要更换主板。将 RAM 添加到现有服务器可能会很昂贵,具体取决于服务器的使用年限。使用超过 5 年且从经销商处采购的内存模块可能非常昂贵。
这意味着从 8 处理器的 32GB RAM 升级到 64 处理器的 128GB 将需要购买全新的服务器来替换旧服务器。从数据库/应用程序的角度来看,这仍然是垂直扩展。支持这么多 CPU 的服务器可能比每台 8 个 CPU 的 7 台服务器贵得多(将原来的服务器保留为第 8 个)。
根据 mustaccio 的评论:高端硬件不仅仅是更多的处理器和 RAM;设计硬件以支持数十个多核处理器的吞吐量和电源/冷却要求绝非易事。因此,一台 256 核 2TB RAM 服务器可能要花费 150000 美元,这比 64 台 4 核 32GB 商用服务器贵一个数量级。
在扩大规模时,您需要购买小批量大容量零件。小批量是昂贵的,因为开发成本可以摊销得更少。世界上很少有系统有 16 个插槽。
此外,供应商将对大容量零件的需求视为您通过该系统获得大量收入的迹象。然后,假设您会付款,他们会增加利润。一些客户每购买 1 美元的硬件就可以赚取 2 美元的收入。有些人每 1 美元的硬件赚 100 美元。理性的供应商会向每单位硬件赚更多钱的客户收取更高的价格。扩大规模是区分客户并使他们中的一些人支付其他人无法容忍的更高利润的一种方式。
也就是说,一些扩大规模是成本效益中性的。我是否购买 1、2 或 4 个插槽可能对价格/吞吐量没有太大影响。
到2022 年,垂直扩展当然应该是一个可行的选择,具体取决于项目要求。例如,可以在戴尔 R940 中获得 4 插槽服务器,例如每个 CPU 使用最新的英特尔可扩展 CPU,可以实现 112 个内核/224 个线程、15 TB 内存和 32 个 ssd/nvme 驱动器。我没有看到垂直缩放的任何问题。没有多少数据库会全部使用这个规范。我们现在也有百万 IOPS 的 nvme 驱动器,并且每秒推送几 GB。
戴尔 poweredge 940xa