确定所需服务器数量的最佳方法

时间:2008-09-12 23:17:43

标签: asp.net webserver capacity-planning

一个Web服务器可以处理多少流量?什么是最好的方法,看看我们是否超越了这个?

我有一个ASP.Net应用程序,有几百个用户。它的方面相当处理器密集,但到目前为止,我们只用一台服务器来运行SqlServer和站点。它运行Windows Server 2003,3.4 GHz,3.5 GB RAM。

但是最近我开始注意到不同时间的速度慢,我想知道什么是确定服务器是否因应用程序的使用而过载的最佳方法,或者我是否需要做些什么来修复应用程序(我如果我只是期待从盒子里过多的话,我真的不想花很多时间去追求一些优化。

4 个答案:

答案 0 :(得分:7)

您需要的是关于Capacity Planning ..

的一些信息

容量规划是规划增长和预测高峰使用期的过程,以满足系统和应用程序容量要求。它涉及广泛的性能测试,以在负载下建立应用程序的资源利用率和事务吞吐量。首先,您测量站点当前接收的访问者数量以及每个用户对服务器的需求量,然后计算支持当前和未来所需的计算资源(CPU,RAM,磁盘空间和网络带宽)使用水平。

答案 1 :(得分:1)

如果您可以访问某些性能分析工具(例如Visual Studio的Team Suite版本中的那些),您可以尝试设置测试服务器并针对它运行一些综合请求,并查看是否有任何特定的代码部分采取不合理的长期运行。 在执行此操作之前,您应该检查一些CPU和内存使用情况的图表,看看它是否可以。 (与UNIX“加载平均”相似的数字可能是一个有用的指标,我不知道Windows是否有类似的东西。基本上是每个时间片需要CPU时间的平均线程数。)

同时检查显而易见的是,你没有用完带宽。

答案 2 :(得分:1)

测量,测量,测量。 Rico Mariani总是说这个,他是对的。

测量req / sec,RAM,CPU,会话等

您可能会提出缓存策略(输出缓存,数据缓存,缓存依赖关系等)。

另请参阅SQL Server的工作方式......索引是一个很好的起点,但不是唯一要看的东西..

答案 3 :(得分:0)

在该硬件上,.NET应用程序应该能够每秒提供大约200-400个请求。如果你只有几百个用户,我怀疑你每秒甚至看到2个请求,所以我认为你在这个盒子上有很多容量,即使SQL服务器正在运行。

如果不知道所有细节,我会说没有,通过添加服务器,您将看不到任何性能提升。

顺便说一下,如果您没有使用Output Cache,我会从那里开始。