2010-03-11 46 views
3

對不起,我真的不知道以正確的方式來問這一個如此忍受我...如何顯示我的服務器當前的響應時間,平均用戶

我們有一個運行在Web應用程序一個數據中心(不在我們的辦公室)的一組服務器 我們希望能夠以某種方式向我們的客戶/用戶「廣告」我們的服務器的可用性或響應時間全天符合標準。

我被要求提出一個標準指標,我們可以在我們的登錄屏幕上輕鬆做出廣告宣傳,每隔x分鐘顯示當前「標準響應時間」。

我的想法是,我需要從服務器(無論是在我們的辦公室,亞馬遜,等等)捕獲traceroute的結果到其中一個數據中心服務器,並拿出一個紅色/黃色/綠色類型的登錄屏幕通知程序,讓用戶知道我們的測試正常響應,如果他們有延遲問題,它可能是他們的網絡或連接到互聯網。我們在農村地區有很多客戶連接不暢,我們正試圖讓他們知道任何緩慢可能是他們的最終目的,而不是我們的。

我已經有LAMP堆棧可以使用,但是這也可以是其他一些系統,只要它可以使用結果更新主服務器即可。

我已經有pingdom報告可用,但這有點比人們想要閱讀有時更多。

關於我能做什麼的任何想法?

分辨率

我結束了Tim的PEAR Net_Ping想法去。我使用了以下內容:

$ping->setArgs(array('count' => 6)); 
$results = $ping->ping('x.x.x.x'); 
$avgPing = $results->_round_trip['avg']; 

爲了獲得平均6 ping到服務器。然後我將結果存儲在數據庫中,並能夠顯示最近5次檢查的平均值,以提供健康的想法。我們會看到客戶喜歡它。

+1

你是怎麼設法輸入所有這些信息的?它一定已經把你*小時!* – Drew 2010-03-11 08:38:31

+0

只是想弄清楚細節 – Jason 2010-03-12 01:26:28

+0

我猜的太模糊了。我指的是你的塑料C形手。 ASDF JKL;必須是*婊子!* – Drew 2010-03-12 02:08:17

回答

3

如果你所關心的是網絡延遲(不是像服務器負載),爲什麼不從服務器ping 一組已知的良好的主機。然後向用戶報告平均ping時間(使用不同響應範圍的色階)。

然後,您還可以ping用戶的IP並顯示「狀態」,因爲目標是說明'滯後'的位置。

這似乎比從外部服務器(至少對我)進行延遲檢查更好更簡單。

要執行實際的ping命令,您可以使用cron作業並使用php腳本處理結果,或者使用ping庫。 PEAR的Net_Ping沒有維護,但確實有效。

對於比ping更復雜的事情,您可以獲取一些頁面(或圖像),然後計算獲取時間/響應大小。如果帶寬負載是一個潛在的問題,這可能是一個更好的指標(這是「速度測試」網站背後的基本概念)。

+0

我正在嘗試Net_Ping ...當我使用示例 (print_r($ ping-> ping('192.168.123.1'));)時,它提供了大量信息。 你知道我怎麼能自己從[_round_trip]中獲得[avg]值嗎? – Jason 2010-03-12 02:39:13

+0

我從Net_Ping獲取數據時遇到了問題,在一種情況下,我只是最終解析了原始輸出(這與運行ping命令並解析它非常相似)。 – 2010-03-12 05:22:15

1

NagiosOpenNMS這樣的網絡監控應用程序會給你你可能需要的任何統計信息,至少Nagios已經有了web interface。我相信OpenNMS也是如此,但它需要Tomcat。

我只和Nagios合作過,那是很多年前的事情(對於一個區域撥號ISP,每天都有很多這樣的電話)。我不得不刮取Web界面,並借用一些生成的圖形圖像用於我自己的顯示,但很容易通過cron自動化每小時。如果它沒有某種附加組件,現在可以簡化這個過程,如果不是適當的API,我會感到驚訝。

+0

感謝您的想法。我正在爲我的用戶尋找簡單的東西,但我最終可能會將其作爲內部工具使用。 – Jason 2010-03-12 01:25:45

相關問題