밀리 초 단위로 HTTP 요청 타이밍을위한 간단한 Linux 도구


12

주어진 URL에서 원격 웹 페이지를 가져 오는 데 걸리는 시간을 밀리 초 단위로 정확하게 측정 할 수있는 간단한 도구 또는 기본 제공 명령을 찾고 있습니다.

답변:


12

이것이 당신이 찾고있는 일을합니까?

time wget http://example.com

여기에는 wget을 시작하고 실행하는 데 걸리는 시간이 포함되며 이는 서버의 응답 시간보다 훨씬 길 수 있습니다.
Paul Lynch

@PaulLynch : 간단한 테스트를했습니다. 나는 이것을 하나의 터미널 rm foo; touch foo; python -m SimpleHTTPServer과 다른 터미널에서 실행 time wget --quiet --output-document=/dev/null localhost:8000/foo했으며 결과는 2 밀리 초였습니다. 나는 wgetgoogle.com (약 10K 문자 검색)에 대해 동일하게 실행하고 약 1/4 초를 얻었습니다. 이 경우 시작 / 실행 시간을 약 1 %라고합시다. 그런 다음 비교를 위해 time curl file://foo약 4 밀리 초를 얻었습니다.
추후 공지가있을 때까지 일시 중지되었습니다.

http 요청에 대해 당신이 옳은 것 같습니다. 약 2ms의 속도 저하가 발생합니다. https URL을 얻으려고했습니다. 이를 위해 Chrome이 약 10ms ( "캐시에서"가 아님)로 반환하는 요청에 대해 wget은 약 25ms 느려집니다. wget과 Chrome은 웹 서버와 동일한 컴퓨터에서 실행되고 있으며 "localhost"로 주소를 지정하므로 시간 차이로 wget을 비난합니다.
Paul Lynch

7

Httping 이 그렇게 할 것입니다.

Httping은 'ping'과 비슷하지만 http 요청입니다. URL을 제공하면 연결하고 요청을 보내고 응답을 검색하는 데 걸리는 시간 (헤더 만)이 표시됩니다. 네트워크를 통한 전송에도 시간이 걸립니다. 따라서 웹 서버 + 네트워크의 대기 시간을 측정합니다.


3

Wireshark 를 통해 전송 내용을 자세히 확인할 수 있습니다. Dennis가 제안한대로 단일 파일을 다운로드하는 데 걸리는 시간을 보거나 웹 브라우저에서 URL을 열면 모든 관련 파일 (이미지, 스크립트 등)을로드하는 데 걸리는 시간을 확인할 수 있습니다.


2

이 답변에 따라 컬로 할 수 있습니다.

새 파일을 curl-format.txt만들고에 붙여 넣습니다.

    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

그런 다음 컬을 다음과 같이 실행하십시오.

curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.