DNS 쿼리, 소켓 연결 등을 측정합니다.

DNS 쿼리, 소켓 연결 등을 측정합니다.

대략적으로 다음을 사용하여 DNS 이름을 확인하는 프로세스를 측정할 수 있습니다.

 time getent hosts server.com

그리고 캐시되지 않은 쿼리는 평균 약 50ms가 걸리는 반면, 캐시된 쿼리는 평균 약 5ms가 걸리는 것을 볼 수 있습니다(이는 매우 멋진 차이입니다).

하지만 간단한 소켓 연결을 측정하기 위해 동일한 작업을 어떻게 수행할 수 있습니까? 다음과 같은 명령을 찾고 있습니다.

time cmd_to_resolve_dns_and_connect_but_no_wait_for_input_or_output

그렇지 않으면

time cmd_to_download --option-to-ignore-everything-after-socket-connect

그렇지 않으면:

cmd_to_download --the-suitable-process-halt-command --option-to-print-time

(HTTP) 서버에 연결하는 데 걸리는 시간을 알 수 있다면 괜찮을 것입니다(물론 명령으로 수행되는 내부 DNS 이름 확인에 소요되는 시간을 뺄 수도 있습니다. 옵션 구문 분석 및 인쇄에 시간이 걸리는 등의 작업도 알고 있습니다. 정확한 측정은 필요하지 않지만 스크립트가 아니라 내 눈을 위한 명령이 필요합니다.

답변1

이 시도:

time nc -zw60 google.com 80

( 포장 nc에서 netcat)

또는 더 나은 가독성을 위해(출력):

TIMEFORMAT='%E'
time nc -zw60 google.com 80

관련 정보