2008-09-18 29 views
5

我正在处理客户端提案,他们需要升级其网络基础结构以支持托管ASP.NET应用程序。实质上,我需要估算具有已知用户数量(当前为250)的系统的峰值使用情况。一个简单的答案就像“你需要一条专用的T1线路”可能就足够了,但我想要有数据来支持它。估计Web应用程序峰值带宽需求的最准确方法是什么?

Another question引用了NetLimiter,它看起来很漂亮,可以了解正在使用的内容。

我的一般想法是,我将启动Web应用程序并使用该系统,就像我预计它将在客户中使用一样,在特定的时间跨度上以一种悠闲的速度使用,然后将带宽使用率按用户数量和时间划分。

这看起来不太科学。对于提案可能已经足够了,但我想看看是否有更好的方法。

我知道有负载工具可用于测试Web应用程序的性能,但似乎这些工具无法准确模拟带宽测试的高峰用户负载(一次太多)。

该平台是Windows/ASP.NET,应用程序托管在SharePoint(MOSS 2007)中。

回答

3

代替一个很好的带宽使用报告工具,你总是可以做一个粗略的猜测。

N =页面视图中最繁忙小时 P =平均页面大小

(N * P)/ 3600)号每秒=平均流量。

服务器本身会有更多的内部流量可能是数据库服务器/ NAS /等。但面向外部的应该会给你一个非常粗略的使用方法。显然,你将需要远远超过上述价值,因为你永远不想被100%利用,并允许其他流量。

我也不会建议使用250个用户的任意数字。使用最重的生产日/小时作为参考。如果你喜欢的话,可以是双倍和三倍,但是如果你有良好的日志文件/用户审计,那会给你预期的用户行为分布。这将有助于让您的猜测更准确。

正如另一位评论者指出的那样,当冗余和带宽可用性成为关注点时,数据中心是一个好主意。您的需求可能会有所不同,但不要轻视这一建议。

+1

从平均流量估算到突发负载容量规划,请参阅Charlie Martin关于此评论的优秀注释:http://stackoverflow.com/questions/379478/whats-the-best-way-to-determine-the/-hardware-要求换的应用程序379543#379543 – 2009-12-07 16:23:24

3

还有几个问题需要在这里提出。

它是250个总用户还是250个并发用户?如果并发,是250峰还是250?如果它总共有250个用户,他们是否都希望同时使用它(例如,内部网站,人们必须将其用作他们工作的一部分),还是更多的是他们可能或不可以的社区站点用它?我假设你说过这样的话,它总共有250个用户,但是仍然没有足够说明网站做出估计。

如果它是一个社区或“正常”的互联网网站,它也将取决于使用情况 - 例如,人们是否真的会强烈使用它,或者是某些用户会简单地登录一次,然后忘记?从您的角度来看,这可能是一个棘手的问题,因为您会想要假设前者,但如果您在网络基础架构上花费大量资金,并且没有人最终使用它,那可能是一件非常糟糕的事情。

网站在做什么?在频谱的低端,有一个“典型”的网络应用程序,您可以在其中获得合理的大小(比如1-2k)页面和少量图像。更激烈的是一个拥有大量媒体的网站 - 例如flickr风格的图片浏览。在高端是一个有很多下载的网站 - 流媒体电影,或只是下载大文件或数据集。

这是越来越多的问题的门槛,但另一件要注意的是该网站的未来:使用可能在未来一年或一个月可能翻番?小心锁定与T1或光纤连接之类的长期合同,而无需升级。

另一个问题是可靠性 - 你需要冗余连接吗?它可能需要很多预先费用,但是有多种方法可以实现多宿主连接,您可以通过多个链接来平衡访问,然后在发生故障时只使用一个(尽管容量减少)。

另一个需要考虑的方法是有效地让您完全避免整个问题,只是将应用程序托管在数据中心。您支付的月费相对较低(与专用高质量连接的费用相比较低),并且您可以获得尽可能多的带宽(例如,大多数托管计划会为您提供每月500GB的转移,从一开始 - 有些会给你无限的)。由于数据中心具有冗余互联网,备用电源,冗余散热,防火,物理安全等功能,因此数据中心的可靠性也将比您可以构建的任何产品(缺少您自己的6+图形数据中心)更可靠。他们还拥有管理所有人这对你来说,所以你永远不必处理它。

相关问题