대략적으로 다음을 사용하여 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