是否有一個PHP腳本/片段,允許您檢查URL/IP的連接速度。舉例來說,URL是www.example.com,當我運行php腳本時,它會顯示連接(211毫秒)到URL/IP需要多長時間,我發現一些腳本只顯示它是否在線或離線,但不顯示它所花的速度。PHP服務器連接測試
我非常瞭解免費和付費服務。我想創建自己的自定義/專用監視器來監視我的許多服務器,並且無法找到連接到給定位置的簡單腳本。
是否有一個PHP腳本/片段,允許您檢查URL/IP的連接速度。舉例來說,URL是www.example.com,當我運行php腳本時,它會顯示連接(211毫秒)到URL/IP需要多長時間,我發現一些腳本只顯示它是否在線或離線,但不顯示它所花的速度。PHP服務器連接測試
我非常瞭解免費和付費服務。我想創建自己的自定義/專用監視器來監視我的許多服務器,並且無法找到連接到給定位置的簡單腳本。
也許是這樣的:
<?php
// Create a curl handle
$ch = curl_init('http://www.yahoo.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute
curl_exec($ch);
// Check if any error occured
if(!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}
// Close handle
curl_close($ch);
?>
試試這個:
$ch = curl_init("http://www.google.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$start = microtime();
$foo = curl_exec($ch);
$end = microtime();
curl_close($ch);
echo "Seconds to load = ". $end - $start;
這不會考慮圖片或JavaScript,只是intital響應時間和服務器代碼的運行。
這就是我所需要的是響應而不是頁面加載速度我測試了它並得到'-0.694715'就是正確的694ms? – chillers
-1因爲這不能回答這個問題(一個基於HTTP的HTML從負載很重的服務器載入頁面的時間與連接速度幾乎沒有任何關係),也因爲你的代碼不工作,主要是因爲你沒有將'true'傳遞給'microtime()'。 – DaveRandom
@DaveRandom:This答案是做什麼的,實際上你的評論應該得到一個-1,因爲你不明白OP在問什麼,作爲回答的人在做什麼。我正在答覆答案 – raidenace
連接速度和ping是不同的東西。 – zerkms
@zerkms是的,這就是爲什麼我問如果有人知道一個示例腳本來獲得連接速度,或者如果有可能與PHP做。 :) – chillers
@DanielO不可能單獨在PHP中執行此操作,因爲您還需要一些客戶端。它也不像「這是連接速度X」那麼簡單,有太多因素可以影響它。例如,您可以使用TCP流來確定它,但所有這些ACK的開銷成本都較高。或者你可以使用UDP流,但是如果你丟包,你會怎麼做?您是否認爲這會對速度產生負面影響,或者您是否在意在時間幀X中傳輸的總數據負載?目前尚不清楚,實施起來也不是微不足道的。 – DaveRandom