8

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

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

但是最近我开始注意到在不同的时间变慢了,我想知道确定服务器是否因应用程序的使用而过载或者我是否需要做一些事情来修复应用程序的最佳方法是什么(我不如果我对盒子的期望过高,我真的想花很多时间寻找一些小的优化)。

4

4 回答 4

7

您需要的是有关容量规划的一些信息..

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

于 2008-09-12T23:31:14.640 回答
1

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

还要检查明显的,你没有用完带宽。

于 2008-09-12T23:35:08.327 回答
1

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

测量请求/秒、RAM、CPU、会话等。

您可能会想出一个缓存策略(输出缓存、数据缓存、缓存依赖项等)。

另请参阅您的 SQL Server 是如何做的……索引是一个很好的起点,但不是唯一要看的东西……

于 2009-01-29T01:09:09.807 回答
0

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

在不了解所有细节的情况下,我会说不您不会通过添加服务器看到任何性能改进。

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

于 2008-09-13T02:50:17.547 回答