2012-02-18 25 views
7

我正在编写一个ASP.NET应用程序,它将跟踪正在使用的带宽以及每个请求所用的时间。在ASP.NET 4.0中记录带宽使用和请求时间

由于我的应用程序将托管在共享服务器上,所以我想在ASP.NET本身而不是在IIS级别上做所有事情。

虽然有一些称为性能计数器,但他们告诉有关内存问题。

我只想要在特定日期消耗的总带宽。 和哪个页面需要多少时间?

现在我打算编写Sql Server数据库中每个请求消耗的每个请求时间和带宽。我是对的还是会遇到一些关键问题?

我已经GOOGLE了太久,但没有找到在我的情况下做什么?

任何帮助表示赞赏

谢谢

编辑

我想显示bandwodth详细信息,并通过网页所用的时间相同的网站本身,这样,管理员可以加载看看发生了什么?

  1. 我的web应用程序会共享服务器
+0

对不起,我不明白你的问题。你在问如何测量带宽?或者,是否将数据写入SQL Server以处理每个请求都会导致问题(是的,会),或者如何解决这些问题 - 或者是什么?你已经尝试了什么? – RickNZ 2012-02-18 06:18:38

+0

@RickNZ我想显示网站的管理员在网站的流量,就是这样。 – Moons 2012-02-18 06:21:31

回答

2

写入数据库上一个繁忙的网站上托管可能导致你的其他问题(并且需要有良好的硬件以及开启服务器。)

相反,只需打开IIS日志记录,然后用工具,如LogParser 2.2(免费)

此外,检查出的性能计数器目标ASP。NET:

相关SO问题:

+0

但我可能无法打开共享服务器上的IIS日志记录以及我想在同一网站本身的WEB页面上显示这些统计信息。意味着我的客户需要一个页面来显示统计信息 – Moons 2012-02-18 05:35:16

+0

您是否可以特别帮助我们找出使用的带宽? – Pankaj 2012-02-18 05:47:25

+0

感谢您的链接... – Pankaj 2012-02-18 05:48:55

1

你可能想看看mini profiler。项目名称是mvc-mini-profiler,但实际上它也转到了asp.net。尽管它没有检测到使用了多少带宽,但您可以轻松定制它。

这也是NuGet软件包这一

+0

但其他用户对每个请求使用的带宽量感兴趣。我认为,这是不是在问题的背景下.. – Pankaj 2012-02-18 05:36:53

+0

你有没有注意到“哪一页需要多少时间?” – fengd 2012-02-18 07:09:35

1

我是在同样的情况,只是编码自己的解决方案。对于低流量的网站,由于您的网站必须(共享主机),SQL性能不会成为问题。

只需连接Application_Begin和Application_End事件并记录URL和这两者之间的时间。要测量回复的大小,请查看http://msdn.microsoft.com/en-us/library/system.web.httpresponse.filter.aspx。这不会计算HTTP标头,但它们不会特别大。

+0

你的解决方案是好的,但不是很可靠,因为当一段时间后,我的客户可能需要将共享主机转换为专用主机时,网站增长。根据该项目,从现在开始几年后,每月可能会有数百万次的交易 – Moons 2012-02-19 10:25:16

+0

然后,您将不再运行共享主机。然后,您可以根据需要存储日志,例如作为文本文件。您不必使用数据库。其实我正在运行一个网站,它在一个正常的数据库中每月记录约3百万次点击。这根本不是问题。服务器被卸载。 – usr 2012-02-19 12:24:59

+0

该解决方案非常可靠,其性能非常好,因为插入件不是非常昂贵。 – usr 2012-02-19 12:25:23