2012-02-29 133 views
0

是否有人知道我可能用於記錄或數據記錄網絡延遲的應用程序?否則,編寫這樣的程序是否可行?網絡延遲和計算機凍結

我爲一家大公司工作,他們最近部署了一個遠程文件管理平臺,這個平臺正在給我們分公司的員工造成嚴重的生產效率問題。我們直接工作到服務器,並且每次文件保存時,都會有明顯的延遲(一般在5-15秒之間,但有時會一起超時)。所有的東西都是反應遲鈍的,而且它使得人們避免頻繁地保存文件,所以當出現崩潰時經常會發生,相當一部分工作將會丟失。

這些延遲不僅發生在保存操作上。它們也在瀏覽網絡文件結構時發生。 2-3秒暫停/中斷每個文件夾跳躍令人難以置信的令人沮喪,並且當您全部添加完成時會累積很多時間。

所以當這些延遲發生時,它凍結了系統的其餘部分。點擊屏幕上或其他應用程序中的任何位置都不會執行任何操作,直到延遲結束。

我想要做的是讓某種數據記錄器運行,記錄這些中斷的累積持續時間。我們的想法是稍微使用它,然後將問題放在更高的位置,以證明由於這個問題造成的時間損失百分比。

我懷疑這個比例對管理者來說是一個令人驚訝的比例。他們似乎把頭埋在沙子裏,假裝每天只需要幾分鐘。按照我的粗略估計,我們應該說每天(每位員工)損失的時間,而不是分鐘。 :/

任何意見將不勝感激。

回答

0

您可以檢查過程是否響應using C#。只需修改其他問題的答案,以檢查應用程序的名稱(或過程ID,如果可能,使用該C#API)並總結等待時間。

這可能有點不準確,因爲Windows會給一個進程一個寬限期,直到它聲明它「沒有響應」,但取決於等待時間可能足以說明您的觀點。

+0

因此,當我這樣做時,創建某種類型的「每秒鐘」處理一次該流程似乎是切實可行的。 然後,當它檢測到的「沒有響應」的回報集羣,請問: 計數器=計數器+ GRACEPERIOD +(SumOfNotResponding) 所以這個程序啓動在啓動時,每天早上,和追加的結果,包括「總時間流逝「值,關閉時爲csv文件或類似文件。 然後幾個星期後,我應該有一個兩欄的csv表:「登錄的持續時間」和「失去時間」。 如果這是可能的,那將是史詩! :D 認爲這可以工作? – FrugalTPH 2012-03-01 20:18:02

+0

是的,這應該工作。你也許可以使用更小的間隔,如100ms,而不會給CPU帶來太多的負擔。這會提高精度。在計算延遲時,我不確定如何獲取GracePeriod的值。獲得這個Windows內部值可能很難。你可以嘗試沒有它的計算,看看它是否接近你認爲延遲多久。 – kossmoboleat 2012-03-02 08:54:34

0

我不確定您的遠程文件管理平臺是如何工作的。在最簡單的情況下,您可以直接在平臺上訪問文件,您可以創建一個簡單的腳本來打開文件,瀏覽文件系統和包含目錄/文件的列表。

萬一它更復雜一些,我會建議使用像wireshark這樣的工具來捕獲網絡流量,過濾出相關的數據包並對它們的延遲做一些分析。我不確定這是否可以直接在wireshark中完成,否則我會建議將它作爲電子表格CSV導出,然後對其進行分析。

+0

是否有任何特定的系統事件觸發Windows中的沙漏,然後如果您點擊導致它的程序,它會將標題更改爲「不響應」。 如果我可以使用一些觸發器來啓動和停止我的計時器,那會很好。 – FrugalTPH 2012-02-29 23:13:56

+0

我的意思是,我的第一個想法是在我的辦公桌上有一個物理秒錶來手動執行,但是從我的角度來看,基於軟件的事情會更容易。 – FrugalTPH 2012-02-29 23:15:00

+0

@ user1241307看到我關於使用C#的其他答案。 – kossmoboleat 2012-03-01 13:24:02