多台服务器与一台大型服务器的性能

多台服务器与一台大型服务器的性能

我的开发团队为我们正在开发的一个即将开展的项目提出了一种服务器结构。我们的结构是“逻辑的”,这意味着应用程序(它是分布式的)的各个逻辑组件依赖于不同的服务器。有些组件比其他组件更重要,将承受更多的负载。

我们的建议是每个组件配备一台服务器,但硬件人员建议用一台更大的带有虚拟服务器的机器来替换各种机器。他们将使用刀片服务器。

现在,我根本不是专家,但我向大家提出的问题是:如果我们需要 3 台 2GHz CPU / 2GB RAM 的机器,而你给我 1 台带有 3 个 2GHz CPU 和 6 GB RAM 的机器,这是一样的吗?他们告诉我是的。

这是准确的吗?这两种解决方案的优点和缺点是什么?普遍接受的最佳实践是什么?你能指出一些处理该问题的 URL 参考吗?

编辑:

更多信息。(互联网/内联网)应用程序已经分层。我们在 DMZ 上有一些服务器,它们会将页面暴露给互联网,数据库位于它们自己的机器上。我们想要拆分(它们也想加入)的是一些主要公开 Web 服务的 Web 服务器。一个是与数据库层通信的 DAL,一个是我们的单点登录/用户配置文件应用程序,每个页面调用一次,一个是互联网上看到的克隆,用于我们的局域网。

答案1

鉴于他们的要求听起来有点“模糊”,实际上相当低,我很想将其虚拟化。我会从两个刀片和一些共享存储开始,然后您可以根据需要创建、修改和删除它们的虚拟机,您将失去性能并获得极大的灵活性,而且您可以线性扩展,不会对用户产生任何影响。

答案2

我认为明智的做法是确定关键瓶颈在哪里或可能发生在哪里。虚拟机非常适合隔离,并且根据所使用的虚拟机管理程序的类型,它可能对实际性能影响不大。虚拟网络可能也比物理网络更好。

但是,出于冗余考虑,我建议使用几台物理机。如果你有一台物理服务器,里面有 100 万台虚拟机,当这台物理服务器死机时(它会死机),它也会带走 100 万台虚拟机。

永远不要把所有的鸡蛋放在一个篮子里!

答案3

他们是在谈论为您提供单一刀片底盘? 因为如果是这样,那仍然是很多单独的服务器,只是包含在一个机房单元中。如果他们真的在谈论一台强大的服务器来运行所有服务器,他们(可能)不会谈论刀片。

不管怎样,忽略刀片服务器的问题,我的观点是:如果你的应用程序可以在多个小型服务器上顺利扩展,那就这样做吧。小型服务器的购买成本较低,你可以通过添加更多服务器轻松地横向扩展,如果单个应用程序几乎拥有自己的服务器,它们往往会更可靠地运行。

然而,也有极端情况。将架构划分为至少 2 层(前端和数据库)或 3 层(前端、应用程序、数据库)是很常见的,但除非你正在创建一个绝对庞大的系统,否则你通常不需要超越这一点。

您能提供更多有关您正在开发的系统的信息吗?您使用的是什么平台、操作系统、语言、用户群、开发生命周期?

编辑:根据您的编辑,出现了另一个问题 - 您当前配置的限制因素是什么?您的 RAM 是否不足,或者磁盘读取速度是否不够快,或者您是否无法快速从数据库中提取记录?CPU 是否已满?您目前所拥有的限制因素应该是您需要采取的主要措施。

答案4

单服务器设置既可以带来好处,也可以带来坏处。维护一台服务器比维护三台服务器容易得多,而且一旦服务器宕机,一切都会随之崩溃。

通过设置多台服务器,您可以进行分类,但是如果您的 3 台服务器中的一台发生故障,而其他两台服务器依赖它来运行,那么这可能就没用了,因为您将处于同一个位置。

相关内容