AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 109941
In Process
pistacchio
pistacchio
Asked: 2010-02-06 02:12:44 +0800 CST2010-02-06 02:12:44 +0800 CST 2010-02-06 02:12:44 +0800 CST

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

  • 772

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

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

现在,我根本不是专家,但我对这些人的问题是:所以如果我们需要,例如,3 台 2GHz CPU / 2GB RAM 机器,你给我 1 台具有 3 2GHz CPU 和 6GB RAM 的机器是一样的吗?他们告诉我是的。

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

编辑:

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

performance cloud-computing scalability blade-server
  • 8 8 个回答
  • 5688 Views

8 个回答

  • Voted
  1. Chopper3
    2010-02-06T02:47:23+08:002010-02-06T02:47:23+08:00

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

    • 3
  2. sybreon
    2010-02-06T04:45:18+08:002010-02-06T04:45:18+08:00

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

    但是,由于冗余,我建议使用一些物理机器。如果您有一台物理服务器,其中包含一百万个虚拟机,那么当该物理服务器死亡(并且它会)时,它会关闭一百万个虚拟机。

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

    • 2
  3. Chris Thorpe
    2010-02-06T02:24:41+08:002010-02-06T02:24:41+08:00

    他们是否在谈论为您提供单个刀片机箱?因为如果是这样,那仍然是许多单独的服务器,只是包含在一个住房单元中。如果他们实际上是在谈论一台功能强大的服务器来运行大量服务器,那么他们(可能)不会谈论刀片服务器。

    无论如何忽略刀片的事情,这是我的观点:如果您的应用程序可以在多个较小的服务器上愉快地扩展,那么就这样做。较小的服务器购买成本更低,您可以通过添加更多服务器轻松横向扩展,并且如果单个应用程序几乎拥有自己的服务器,它们往往会更可靠地工作。

    但是,也有极端情况。将架构拆分为至少 2 层(前端和数据库)或 3 层(前端、应用程序、数据库)是很常见的,但除非您正在创建一个绝对的系统怪物,否则您不会经常这样做需要超越这一点。

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

    编辑:根据您的编辑,出现了另一个问题 - 您当前配置的限制因素是什么?您是否用完了 RAM,或者磁盘读取速度不够快,或者您是否无法足够快地将记录从数据库中提取出来?用尽CPU?你现在拥有的限制因素应该是你需要去哪里的主要指导。

    • 1
  4. Jim B
    2010-02-06T08:50:20+08:002010-02-06T08:50:20+08:00

    3 台 2GHz CPU / 2GB RAM 机器,你给我 1 台 3 2GHz CPU 和 6GB RAM 的机器是一样的吗?他们告诉我是的。

    不,不一样。取决于虚拟化平台,管理程序层会产生开销(5-30% 不等)。

    这两种解决方案的优点或缺点是什么?

    没有更多细节很难,但这里有一些一般性

    优点:

    1. 操作系统许可可能更便宜——许多供应商要么不收取 VM 操作系统许可的费用,要么收取更少的费用
    2. 可移植性 - 由于它是一个虚拟机,如果存在扩展问题或需要更改硬件,那么更换或添加硬件是微不足道的
    3. 效率——如果不是所有的虚拟机都在利用物理机器上的所有可用资源,那么 CPU 和内存就被浪费了,如果另一台机器需要更多资源,那么是时候购买新系统了。使用虚拟机,需要更多资源的系统可以从可用资源池中分配更多资源(同样取决于管理程序,这可能会自动发生)
    4. 测试/开发环境可以与生产环境完全一样 - 大多数平台允许您将机器克隆到新网络,允许在部署到生产环境之前在“真实”环境中测试补丁等

    缺点:

    1. 性能故障排除更成问题 - 简单地说,有更多的活动部件相互影响。是管理程序中的问题,是否有其他机器导致主机上的问题。运气好的话,IOPS 是瓶颈,这意味着要购买更多磁盘或更多缓存
    2. 系统要求有点高——通常你正在虚拟化,因为你有未充分利用的系统,并且希望节省一些现金(长期)电力等。但是由于管理程序开销,如果你在需要 MHz 之前需要 MHz,之后可能需要 MHz——这取决于管理程序
    3. 额外的管理——在虚拟化之后,您将承担与之前相同的管理负担以及虚拟机管理程序。根据管理程序的选择和您的收费,这可能不是问题
    4. 成本 - 短期内可能会更贵。我不会把 3 个系统放在 1 个物理盒子上,因为如果那个盒子出现故障,我的服务就完全失效了。通常,您需要 3 个系统(出于成本目的 - 预算额外 1/3 的开销通常比必须拥有双倍资源更便宜)。

    在您的特定情况下,如果这些系统中的任何一个出现故障,如果您的服务将失效,则1 系统可能会正常。在这种情况下,您没有增加任何风险。听起来这些系统也不需要 6Ghz 的处理能力,在这种情况下,整合肯定会节省资金,因为您不会只为这 3 台机器购买 6ghz。您需要注意的另一件事是(当然不是最不重要的)是 I/O 要求和潜在的 I/O 争用。

    作为替代方案,如果这些 Web 服务可以在同一台机器上共存,您还可以考虑创建 2 个具有相同服务的虚拟机,并使用集群或仅在出现问题时让其中一个处于待机状态。

    对于 URL,请查看

    Windows Server 虚拟化指南

    在小型环境中实施虚拟化的快捷指南

    • 1
  5. gekkz
    2010-02-06T02:19:27+08:002010-02-06T02:19:27+08:00

    单个服务器设置可能是有益的,也可能是非常糟糕的。维护一台服务器比维护 3 台服务器更容易,当它出现故障时,一切都会随之下降。

    通过多服务器设置,您可以进行划分,但如果您的 3 台服务器中的一台出现故障而另外两台依靠它运行,这可能是无用的,因为您将在同一个位置。

    • 0
  6. Mathieu Chateau
    2010-02-06T02:20:19+08:002010-02-06T02:20:19+08:00

    它们可能是错误的,具体取决于:

    • 您使用的是 64 位应用程序/操作系统/数据库吗?如果没有并坚持使用 32 位,您将无法使用更多 4GB,并且所有应用程序将默认“共享”2GB 物理内存
    • 存储呢?该服务器将必须获得更强大的存储控制器和与您一样多的磁盘(x3)。如果您的解决方案中没有使用太多存储空间,则可能不会
    • 风险:当您松开/重新启动这个独特的服务器时,一切都消失了。如果 3 个中的一个出现故障,也许也是如此

    建筑不像数学那么简单。但是如果没有更多详细信息,我们无法为您提供更多建议

    • 0
  7. Greg Askew
    2010-02-06T04:46:45+08:002010-02-06T04:46:45+08:00

    容量需求最好通过负载测试和经验数据来确定。不要依赖预测或受启发的猜测。

    可用性是另一回事。当然,多台服务器总比一台好。可能还有其他因素会影响架构。主要是成本,特别是如果这不是开源的并且有每台服务器的许可费用,或者您正在使用需要支付版税的第三方组件。

    • 0
  8. Jerry
    2011-01-16T15:49:26+08:002011-01-16T15:49:26+08:00

    刀片服务器不能制造好的虚拟服务器。您在带宽和内存方面受到严重限制,这是虚拟环境中的两个最大需求。我们倾向于每个核心运行大约 4 个虚拟机。即使使用最好的刀片机箱,每个刀片的网络连接也仅限于 40Gb。如果您正在运行 32 个高性能 Web 虚拟机,即使订阅过多,您仍将最大限度地利用每个虚拟机的连接。如果您确实获得了到刀片的 40Gb 连接,您将需要牺牲存储网络并使用融合结构,这会占用所需的 Web 带宽。戴尔 910 或 HP 585 是很好的虚拟化平台。1 台 24 核服务器,140GB 网络,运行 96 个虚拟机。

    接下来,您要正确调整虚拟对象的大小。永远不要给虚拟超过 1 个核心,总​​是向外扩展。如果添加额外的核心,CPU 轮询会导致人为负载和锁定。对于一个好的 apache 虚拟,我们运行 1 个核心、1.8Gb 内存和约 4gb 的网络。在大约 2ghz 的负载下,服务器报告负载为 1.28。我们的虚拟数据库运行 1 个核心、6gb 的内存和约 4gb 的网络。

    始终分开应用程序;如果您不断添加变量,您将无法正确调整虚拟。一个虚拟应该有一个角色。它应该很好地执行一件事。非军事区。DMZ 应位于单独的物理虚拟平台上。用于监管要求和保护。

    • 0

相关问题

  • 基于 Microsoft 的服务器(IIS、MSSQL 等)上的病毒扫描应排除哪些内容?

  • jvm性能调优技巧/资源?

  • 加快 MSSQL 快照复制到 SQLExpress 副本的速度

  • 聚集索引与非聚集索引?

  • 使用大量 javascript 的页面上的鱿鱼速度很慢

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve