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 / 问题 / 69777
Accepted
JoeJoe
JoeJoe
Asked: 2009-09-30 14:38:16 +0800 CST2009-09-30 14:38:16 +0800 CST 2009-09-30 14:38:16 +0800 CST

数据库应该与 Web 服务器在同一个盒子上还是分开

  • 772

我使用 SQL Server 2005 和 IIS6。我将每个都放在单独的盒子上(四核 CPU,4G)。客户希望合并到一个盒子上。这是一个拥有 400 个用户的企业应用程序。现在性能很好,但我质疑任何与性能变化、服务管理相结合的节省。所以对于 1)未来的功能/增长,2)性能,3)模块化,其他?,移动到 1 个盒子或继续 2。

sql-server
  • 5 5 个回答
  • 1398 Views

5 个回答

  • Voted
  1. Best Answer
    FilmJ
    2009-09-30T14:46:31+08:002009-09-30T14:46:31+08:00

    我几乎 100% 基于 Linux,但我认为一些通用原则适用。

    如果您希望扩展,即使只使用虚拟化软件,将服务器分开也可以让您根据需要轻松添加节点并在它们之间进行负载平衡 - 它还提供更好的安全性,因为您只打开所需的端口。

    我发现在盒子上安装一个数据库服务器对于邮件服务器或其他使用后端数据库的配置工具之类的补充服务很有用……这些占用空间相对较小,可伸缩性也不那么重要。

    • 7
  2. squillman
    2009-10-01T04:19:59+08:002009-10-01T04:19:59+08:00

    没有足够的信息来告诉您要采取的方向,这实际上取决于您的环境。为了做出正确的调用,您需要在两台服务器上收集当前状态的指标并分析您所拥有的。无论哪种方式,您都需要真实的数据来证明这一点。除了“它可能很大”之外,“企业应用程序”并没有真正说明其他指标。您也许可以组合,但如果您必须购买具有更大马力的新硬件,那么您可能会在脚下开枪。

    几个想法(主要从数据库的角度):

    • 一种安全理论是,如果攻击者获得对您的 Web 服务器的访问权限,那么他们就获得了对数据库服务器的访问权限。这不一定正确,也可能不一定正确,具体取决于攻击者如何获得访问权限、您如何在 Web 服务器上设置安全性以及您的连接字符串是如何存储的。不过,这当然值得关注。

    • 默认情况下,SQL 将尽可能多地消耗服务器上的内存。当在同一个盒子上托管 Web 和 SQL Server 时,要找到它们都可以接受的令人满意的地方,需要一些计划和一些调整。这将随着您的数据库增长和应用程序使用量的增加而不断变化。并不是说它不会不断变化,只是有时很难在两种服务之间找到平衡

    • 您不会有从 Web 服务器到 SQL 服务器的网络连接开销。

    • 4
  3. CJM
    2009-10-07T00:55:58+08:002009-10-07T00:55:58+08:00

    合并的假定好处是什么?

    • 维护?几乎没有,充其量只会稍微难一些。
    • 成本?也许……现在。

    如果您想要两全其美,您可以在一台主机上设置两个虚拟机。当它们中的任何一个变得太大时,您可以将其移至新主机(或者可能移至新的专用机器)。

    一般来说,我建议不要在生产环境中的同一个盒子上运行它们。除了安全隐患之外,配置和维护也不会那么容易,因为这两个角色总是在争夺资源。

    • 2
  4. Sam
    2009-09-30T15:34:53+08:002009-09-30T15:34:53+08:00

    一些安全人员不喜欢在同一台机器上拥有 Web 服务器和数据库服务器。如果我们将 IIS 安装在单独的分区上,我们就让它滑动。

    • 1
  5. MarkR
    2009-10-12T07:05:26+08:002009-10-12T07:05:26+08:00

    我想说,在您的系统的非生产副本上试一试,然后看看。

    任何受到积极支持的重要应用程序都应该能够进行性能测试。获取生产级硬件盒(与您现在部署到生产中的规格相同 - 没有过时)并用一个盒子和两个盒子对其进行测试。

    我的猜测是,如果数据库+应用程序适合 ram,将数据库放在同一台机器上性能会更好——否则会更糟。这实际上意味着将它们放在同一台机器上可以提高性能,但会降低可扩展性。这种性能与可扩展性的权衡是典型的。

    但一定要试试看。请务必使用生产级硬件和一些软件来模拟至少您的生产级使用情况。

    (使用单台机器)的鲁棒性也有影响。但是您可以将其他备份作为温(ish)备份,而不会对生产产生太大影响(取决于您使用的复制/集群等类型)。

    • 0

相关问题

  • sql server 连接字符串上的网络数据包大小以提高吞吐量

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

  • SQL 洗衣清单

  • OPENROWSET、二进制文件、varchars 和 varbinaries

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

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

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

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 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
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +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