2008-09-12 30 views
8

一台Web服务器可以处理多少流量?如果我们超出了这个范围,最好的方法是什么?确定所需服务器数量的最佳方法

我有一个有几百个用户的ASP.Net应用程序。它的方面相当处理器密集型,但到目前为止,我们只用一台服务器就可以运行SqlServer和该站点,这样做很好。它运行Windows Server 2003,3.4 GHz,内存为3.5 GB。

但最近我已经开始注意到在不同的时间慢,我想知道什么是最好的方法来确定服务器是否由于应用程序的使用而过载,或者如果我需要做些事情来修复应用程序(如果我只是想从盒子里拿出太多的东西,我真的不想花很多时间去追求优化。

回答

7

你需要的是对Capacity Planning一些信息..

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

1

如果您有权访问某些性能分析工具(例如Visual Studio Team Suite版本中的那些工具),则可以尝试设置测试服务器并运行一些综合请求,并查看是否有任何特定部分代码耗时过长。 在做这件事之前,你应该查看一些CPU和内存使用情况的图表,看看它是否可以。 (类似UNIX的“负载平均值”可能是一个有用的指标,我不知道Windows是否有类似的东西,基本上是每个时间片需要CPU时间的平均线程数)。

还要检查一下显而易见的事实,即你没有耗尽带宽。

0

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

不知道所有的细节,我会说没有,你不会看到任何增加服务器的性能改善。

顺便说一句,如果你不使用Output Cache,我会从那里开始。

1

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

测量请求/秒,RAM,CPU,会话等

您可能想出一个缓存策略(输出缓存,数据高速缓存,高速缓存相关性,等等。)

参见你的SQL Server如何做...索引是一个开始的好地方,但不是唯一要看的东西..

相关问题