与Windows 2008和SQL Server 2008最佳的负载平衡configuration

我有两台运行Windows 2008 Web Edition和SQL 2008 Standard Edition的服务器,如何才能最好地平衡负载?

我应该使用数据库镜像还是日志传送? 是Win2008 NLB易于由开发人员configuration,因为我不是系统pipe理员?

我正在寻找的是能够让我的网站运行在单个服务器出现故障的情况下,并且能够在需求增长时轻松添加更多的服务器。 我的网站在ASP.Net 3.5中运行,并且它们都已经将会话存储在SQL Server中。

SQL server本身不支持负载平衡。 您可以使用您描述的机制(数据库镜像和日志传送)进行主动/被动故障转移,还有许多其他选项,如群集或复制。

开始的两个问题是:

  • 你能承受多久? (也就是你的恢复时间目标,或RTO)
  • 你能承受多少数据丢失? (又名您的恢复点目标,或RPO)

你可以承受的时间越多,你可以承受的数据越多,那么更简单,更便宜的解决方案就可以实现。 停机时间越少,数据越少,实施就越困难。

例如,同步数据库镜像将保证您永远不会丢失事务。 在将结果返回给客户端之前,在两个数据库服务器上都提交事务。 不幸的是,在负载较重的情况下,您会受到相当大的性能影响,并且内置最少的管理实用程序 – 您希望有一个全职的DBA来管理这种事情。

另一方面,每15分钟发送一次日志就意味着你可能会丢失15分钟(或更多)的数据,并且在失败后可能需要15-60分钟才能恢复在线。 但是,它很便宜,性能影响非常小,而且设置起来相当简单。

我在BrentOzar.com上已经有了RPO和RTO的介绍 ,并介绍了SQL server的HA和DR功能 。 如果你经历过这些,你会更好的武装回来,并提出更具体的问题。 希望有所帮助!

根据您的应用程序类型,您应该做的第一件事就是开始缓存Web服务器上没有太多变化的事情。 这样你的数据库就会少打。 和Web服务器可以更容易地扩展数据库。

这是一个相当不错的文章 。