何时添加另一台服务器

cgr*_*eno 6 capacity-planning

什么时候开始向您的 Web 应用程序添加(或考虑添加)服务器?从单个服务器(DB 和 Web)到多个服务器有哪些困难?

例如:

大多数情况下,您从一个同时用于 DB 和 Web 的服务器开始,然后将您的 DB/Web 拆分到另一台服务器上,然后转到多个 Web 服务器(这会产生会话问题),然后可能是用于 DB 等的 NAS。

Por*_*man 10

什么时候开始向您的 Web 应用程序添加(或考虑添加)服务器?...(从单个服务器...到多个)

想一想:从一开始。

开始添加:当您收到第一个“服务器太忙”错误时。任何更快的都是过早的优化。

(除非您的 Web 应用程序是关键任务,在这种情况下,您可能不是从头开始,也不需要轮询 serverfault.com 社区。)

但严重的是,对于现代消费者Web应用程序,让“服务器太忙”,其实是一个很好的事情。它当然永远不会伤害 Facebook、Twitter 或 YouTube。过早添加服务器的危险在于,您的应用程序永远不会像您期望的那样受欢迎,并且您最终浪费了本可用于功能开发的资金。

如果您是真正拥有热门网络媒体资源的少数幸运儿之一,那么 (a) 恭喜您,并且 (b) 您将能够从日志文件中测量平均响应时间,并且可以采用更多指标驱动的方法添加服务器的方法。


Guy*_*Guy 9

就我个人而言,我总是从一个独立于 DB 服务器的 Web 服务器开始。

(基于 IIS6 和 SQL Server)

  1. 数据库只会消耗资源(RAM、磁盘、CPU)并与 Web 服务器竞争。这可能会使 Web 服务器看起来没有响应并且数据库“坏”
  2. 安全。在“边缘”上拥有比您需要的更多的东西并不是一个好主意。将 DB 移至 DMZ 内部,并在防火墙中为 SQL 流量戳一个非标准孔(不是 1433)。
  3. 角色分离。现在您可以查看是 DB 还是 IIS 或应用程序正在占用 CPU

但是,我们在 vmware 服务器(实际上是 3 节点集群)上执行所有这些操作,并且 web 服务器和 db 服务器只有 1 个 vCPU 和 1GB RAM。并且它们支持相当繁忙的网站套件(外部和内部网),而无需付出太多努力。

但我知道,如果我的人气激增(这可能有一天会发生!)我可以快速地重新配置虚拟机,使其具有更多的 RAM 和 CPU。

实用说明:随着时间的推移监控您的表现。跟踪变化并积极主动。