我目前正在尝试确定最佳方法来托管一些流量适中的网站,用于生产电子商务和在线应用程序。我们想转移到专用服务器,并且认为这是最有可能的机器:
四核英特尔 Core2Quad Q9550 处理器,2.83 Ghz X 4,4 GB 金士顿内存
这将运行 Windows Web Server 2008 R2 x64 并且可能运行 Sql Server Web 2008 和 SmarterMail 服务器。
鉴于我们已经为开发、测试、共享版本控制支付了高端 VPS 费用,我们希望避免使用两台服务器进行生产。我们希望避免使用共享 SQL 服务器托管,并考虑将开发服务器用作数据库服务器作为一种选择 - 但由于内部和合同用户将其用于开发,可能会存在安全风险。
问题是: - 您觉得在同一台机器上运行这个程序会导致性能下降吗? - 如果我们这样做,是否有重大问题需要关注? 我们理解最佳做法是运行单独的数据库和应用服务器,但目前的流量并不高,仅为数据库添加另一台服务器目前成本太高。 - 其他人在做什么?
或者,您是否建议在 Hyper-v 上使用两个独立的 VPS 服务器,每个服务器具有 2GB RAM,其成本与上面的单个专用服务器大致相同?
谢谢!
答案1
我更倾向于两台独立的机器。正如 Josh 指出的那样,这样做确实可以提高性能,同时减少网络延迟。
但更重要的是,如果发生最坏的情况,您的 Web 服务器受到攻击,那么黑客现在也可以完全控制您的数据库。如果它们位于不同的机器上,您可以更好地控制对数据库服务器的访问,并且需要攻击两台机器,而不仅仅是一台。理想情况下,您可以设置一些非常严格的规则来访问数据库服务器,以使其更安全。
罗斯
答案2
这实际上是一个好主意。在本地托管 SQL Server 意味着您的应用程序将对本地计算机进行 SQL 调用,而不是通过网络。这将显著提高您的性能并减少应用程序延迟。
只需小心设计一个好的备份过程,并且您需要更加仔细地考虑该盒子的安全性,因为数据也存储在那里。