[작업로그] CURL 을 이용하여 API 속도 체크

SEPTEMBER 24, 2021

타 서비스 이용중에 API 타임아웃이 빈번하게 발생하여 해당 API 에 대한 응답 소요시간을 CURL 을 이용하여 체크하게 되었다.
서버 연결 소요시간 및 응답 소요시간을 각각 측정하는 옵션을 사용했다.

$ curl -sS -w " \
time_connect: %{time_connect} \
time_appconnect: %{time_appconnect} \
time_pretransfer: %{time_pretransfer} \
time_starttransfer: %{time_starttransfer} \
total_time: %{time_total}\n" \
-k -X POST https://test.com -o /dev/null

time_connect

  • tcp 연결하는데 걸리는 시간

time_appconnect

  • ssl handshake 소요 시간

time_pretransfer

  • HTTP인지 HTTPS인지에 따라 timeconnect 또는 timeappconnect와 거의 동일
  • 이 값의 유일한 목적은 서버가 바이트 전송을 시작하는데 걸린 시간을 계산하기 위함이다
  • TTFB를 위한 준비단계로 보면 된다

time_starttransfer

  • 서버가 응답을 준비하는데 걸린시간
  • TTFB(Time To First Byte)
  • 클라이언트가 처음으로 byte를 받은 시간이다.

순서대로 curl이 시작된 이후 누적이 된다.
따라서 time_starttransfer - time_pretransfer 값이 실제 서버 처리 시간으로 볼 수 있다.

참고
https://speedtestdemon.com/a-guide-to-curls-performance-metrics-how-to-analyze-a-speed-test-result/
https://yfkwon.tistory.com/42#recentEntries


작업 기록 블로그