我這顯示了我們所有的服務器頁面(我們將其命名他們的資源)。該列表從MS SQL數據庫獲得。 爲了向他們展示我從數組中獲取並回顯。回聲之後 - 我發送請求到每個資源以獲取其狀態(200,404,502等)。
問題:
當有10-20資源頁面加載幾秒鐘,但現在有近100個資源(並會更多)爲此頁面加載〜1分鐘。現在我的經理說我們需要每1分鐘檢查一次狀態。
所以,我的問題是 - 我怎麼能做到這一點?一般 - 我可以嗎? :)
我不需要代碼或工作解決方案,我需要一些指導,我該如何實現這一目標?要搜索什麼?讀什麼?也許有一些庫的解決方案,甚至有一些框架可以做到這一點更好,更簡單?
我已經閱讀SO一些文章和問題: http://www.w3schools.com/php/php_ajax_intro.asp Sending data from server to client? fetch data from text file and update web page every minute
而且我覺得我需要了解AJAX並使用它。但我發現的任何指導是:實時搜索,動態地從輸入中選擇一些東西,在字段中輸入時提供的建議等。
正如我看到它必須有一個像我現在有的頁面servers.php
,當我加載它時,它會提取並顯示所有服務器。然後爲每個資源調用check_status.php
並動態更新數據,然後每重新加載一分鐘頁面。但我不明白如何一次向所有服務器發送那麼多(〜100)請求。
編輯
我們來到這樣的:我們將運行Linux VM和運行cron作業,隨時瞭解我們的資源狀態更新。用Ajax檢查狀態的腳本很容易編寫,因爲我沒有預料到。爲了存儲日誌,我們將使用MySQL數據庫,並將編寫簡單的頁面來處理日誌。謝謝大家參與答案和評論!
當然,你可以通過異步調用來做到這一點(所以同時執行所有請求,並行_)。但是有一點提示:現在已經有了一個很好的解決方案,這就是所謂的「系統監控」。流行的選擇是'zabbix'或'nagios'。看看它們,爲自己節省很多麻煩...... – arkascha
你可以通過產生單獨的異步請求來實現它,但是在任何情況下,資源永遠都是無限的,網絡也是如此。總是有限制。 – ArtisticPhoenix
寫函數發送請求到服務器(它包括ajax調用)並使用JavaScript輪詢每分鐘到這個函數。看到... http://stackoverflow.com/questions/4930439/call-jquery-ajax-request-each-x-minutes –