为.NET性能设置服务器的最佳方式

假设我们有3台物理服务器,假设我们只对性能感兴趣,而不是可靠性。 为每个服务器提供一个特定的function还是让所有的服务器都重复,并将它们之间的stream量分开?

换句话说,将1作为数据库服务器,1作为Web服务器,1作为报告服务器/数据仓库,或者更好地把所有三个服务放在每台服务器上,并将它们用作networking农场?

这真的取决于应用程序的性质和stream量的性质 – 一般问题没有一个正确的一般答案。

一些成功解决这个问题的方法:

  • 使用自动化工具build立一个好的testing计划。 对于web应用程序Browsermob是一个不错的select。 你可以用seleniumRC和一点点的手肘润滑脂做同样的事情。
  • 在系统中build立良好的测量和仪器。 永远不要以为事情会更快,知道更快。
  • 有明确的重要目标。 能够处理4200万客户,如果只有一打就无所谓了。

最后,请记住负载急剧地改变了事情 – 在获得stream量之前,处理大量stream量的一些事情实际上会对性能产生负面影响。 ASP.NET本身就是一个很好的例子 – 你可能花了很多时间等待工作进程在开发模式下运行。 但是在预编译的生产中却是黯然失色。

在什么地方演出? 大量的并发网站用户或后端数据仓库和报告?

Web性能:两个负载均衡并连接到一个数据库服务器的Web服务器。 希望数据仓库杂务和报告可以在非高峰时段完成。

报告/数据挖掘:一个networking,一个数据库,一个数据仓库服务器。