2012-10-09 4 views
3

URL/IP에서 연결 속도를 확인할 수있는 PHP 스크립트/스 니펫이 있습니까? 예를 들어 URL이 www.example.com이고 php 스크립트를 실행하면 URL/IP에 연결하는 데 걸리는 시간 (211ms)이 표시되고 온라인 또는 오프라인이지만 표시되지 않는 일부 스크립트를 발견했습니다. 속도.PHP 서버 연결 테스트

저는 무료 및 유료 서비스에 대해 잘 알고 있습니다. 내 자신의 사용자 지정/개인 하나를 만들어 내 많은 서버를 모니터링하고 주어진 위치에 연결할 수있는 간단한 스크립트를 찾는 데 어려움을 겪고 싶습니다.

+4

연결 속도와 핑이 다른 것입니다. – zerkms

+0

@zerkms 그렇습니다. 그렇기 때문에 누군가가 연결 속도를 얻기위한 예제 스크립트를 알고 있는지 또는 PHP로 할 수 있는지 묻는 것입니다. :) – chillers

+1

@DanielO 클라이언트 쪽에도 뭔가가 필요하기 때문에 PHP만으로는이 작업을 수행 할 수 없습니다. 또한 "이것은 연결 속도 X"와 같이 간단하지는 않습니다. 영향을 미칠 수있는 요소가 너무 많습니다. 예를 들어, 당신은 그것을 결정하기 위해 TCP 스트림을 사용할 수 있지만 모든 ACK와 함께 높은 오버 헤드 비용이 있습니다. 또는 UDP 스트림을 사용할 수도 있지만 패킷을 잃어버린 경우 어떻게합니까? 속도에 불리한 영향을 미치거나 시간 프레임 X에서 전송 된 총 데이터 페이로드를 신경 써야합니까? 그것은 명백한 상처가 아니며 구현하기도 쉽지 않습니다. – DaveRandom

답변

3

아마 같은 :

<?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); 
?> 
+0

페이지에서 직접 야후를로드 중입니까? – chillers

+0

지금 수정 해주세요. –

+0

동일하게 적용됩니다. :) – chillers

0

이 시도 :이 이미지 나 자바 스크립트, 단지 intital 응답 시간 및 서버 코드의 실행을 고려하지 않을 것이다

$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; 

.

+0

응답이 페이지로드 속도가 필요하지 않습니다. 내가 그것을 테스트하고'-0.694715'가 올바른 694ms입니까? – chillers

+1

-1 이것은 질문에 대답하지 않기 때문에 (HTTP를 통한 HTML 로드가 많은 서버의 페이지로드 시간은 연결 속도와 거의 관계가 없습니다. 또한 코드가 작동하지 않기 때문에 주로'true '를'microtime()'에 전달하지 않았기 때문에 발생합니다. – DaveRandom

+1

@DaveRandom : This 대답은 의도 한 바를 수행합니다. 사실 OP가 무엇을 요구했는지 이해하지 못 했으므로 답변에 -1이 표시됩니다. 나는 대답을 +1하고있다. – raidenace