2012-02-18 76 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