본문 바로가기

시스템 운용툴

Curl, Chrome(크롬) Timing을 이용한 응답시간 측정하기

반응형

Curl Time Format과 Chrome의 Timing 비교


Curl Time Format

 

  • DNS 질의 부터 connect, request, response가 완료되기 까지 Curl Time Format 별 순서 도식이다.
    • time_namelookup ~ time_total

 

 

Chrome Timing

 

  • Chrome의 Timing 예
    • Chrome 브라우져에서 진행되는 Queueing, Stalled 과정을 제외하면 DNS Lookup ~ Content Download 까지가 실제 통신 과정이다.

 

 

  • Timeing을 도식화.
    • DNS Lookup  =  DNS Lookup
    • TCP Handshake  =  Initial connection
    • SSL Handshake  =  SSL
    • Wait(requestStart)  =  Request sent
    • Wait(responseStart)  =  Waiting(TTFB)
    • Data Transfer  == Content Download
  • TTFB
    • Time To First Byte 로 response의 첫 byte가 도달한 시간을 말한다. 
    • 사용하는 어플리케이션의 주요 성능 지표로 사용되며 클라이언트의 요청 + 서버의 처리시간 + 서버의 응답 등을 포함한다.
    • TTFB = responseStart - connectEnd 
      • curl의 경우 TTFB = time_starttransfer - time_appconnect

 

 

 

Curl Time Format과 Chrome Timing의 대응 속성값

 

Curl Time Format 설명  Chrome Timing
time_namelookup 목적지 도메인의 dns 조회가 완료된 시간 DNS Lookup
time_connect 목적지와 TCP connect(Handshake)가 완료된 시간 Initial connection
time_appconnect 목적지와 SSL/SSH 등등 connect(handshake)가 완료된 시간 SSL
time_pretransfer 목적지와 파일 전송 시작 시간.  request 보내는 시점 Request sent
time_starttransfer TTFB(Time To First Byte). response 의 첫 byte를 read한 시간 Waiting(TTFB)
time_total response가 완료되어 목적지와 finish connect 한 시간. 총 시간 Content Download
time_redirect namelookup부터 time_total 내 모든 과정중 redirect가 발생한 총 시간  

 

 

 

Curl Time Format을 사용하여 응답시간 측정


응답시간 관련 사이트

 

https://www.cloudping.info/

 

cloudping.info

Use this page to measure latency from your browser to various cloud provider datacenters. HTTP Ping Region Latency Amazon Web Services™ us-east-1 (Virginia)   us-east-2 (Ohio)   us-west-1 (California)   us-west-2 (Oregon)   ca-central-1 (Central)  

www.cloudping.info

 

  • 현재 클라이언트 브라우져에서 AWS region 별로 http ping을 사용하여 TTFB 측정

 

 

https://ping.pe/

 

Ping, mtr, dig and TCP port check from multiple locations

Javascript is required to run this. Javascript support is required in order to use this website

ping.pe

 

  • 출발지 여러지역에서 지정하는 목적지로 icmp ping을 사용하여 응답시간, 손실율을 측정

 

 

 

Curl Time Format

 

  • -o : output. 
  • -s : silent or quiet mode. 진행과정을 출력하지 않음.
#!/bin/sh
time_format=`cat <<EOF
DNS Lookup : %{time_namelookup}
TCP HANDSHAKE : %{time_connect}
SSL HANDSHAKE : %{time_appconnect}
Request start : %{time_pretransfer}
Response start : %{time_starttransfer}
Time Total : %{time_total}
Redirect : %{time_redirect}
EOF`

curl -o /dev/null -w "${time_format}" -s https://dynamodb.us-east-1.amazonaws.com/ping

 

반응형