컬 명령을 사용하여 Linux 서버에서 파일을 다운로드하는 데 걸리는 시간을 확인하는 방법은 무엇입니까?

컬 명령을 사용하여 Linux 서버에서 파일을 다운로드하는 데 걸리는 시간을 확인하는 방법은 무엇입니까?

두 Linux 서버 간의 대기 시간을 테스트하고 있습니다. Linux 서버는 서버이고 B Linux 서버는 클라이언트입니다. 명령을 사용하여 파일을 성공적으로 다운로드할 수 있습니다 curl. 하지만 시간이 너무 빨라서 아마도 300-500ms 정도일 것입니다.

다음 명령을 통해 사용하려고 하면 curl파일을 다운로드하는 데 걸리는 시간이 표시되지 않습니다. 작은 파일을 다운로드하는 데 시간이 얼마나 걸리는지 확인하는 방법이 궁금하십니까?

curl -0 "http://server IP/filename" --output filename
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2191k  100 2191k    0     0  8278k      0 --:--:-- --:--:-- --:--:-- 8302k

답변1

Curl에는 완료된 전송에 대한 정보를 표준 출력으로 인쇄하는 기능이 있습니다. 이는 --write-out또는 -w옵션과 해당 형식 문자열( printf형식 문자열과 유사)을 포함합니다.

매뉴얼 페이지에는 연결 시작과 세션의 다양한 단계(DNS 조회, TCP 연결 준비, 다른 URL로 리디렉션, 전송 시작 ​​등) 사이의 경과 시간을 설명하는 일부 형식 사양이 설명되어 있습니다. 연결(또는 "전송")이 종료됩니다. 그러나 귀하의 목적에는 두 개만 필요하다고 생각합니다. 귀하와 유사한 예를 사용하여:

curl -0 --output filename --write-out 'xfer_start=%{time_starttransfer}\nxfer_end=%{time_total}\n' "https://www.google.com/"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15166    0 15166    0     0  64085      0 --:--:-- --:--:-- --:--:-- 67404
xfer_start=0.214270
xfer_end=0.236651

저는 이 기능을 사용하여 URL이 전송되는 시점부터 HTTP 응답 코드가 반환되는 시점까지 웹 서버의 응답성을 테스트하는 모니터링 스크립트를 만들었습니다. 아주 잘 작동하는 것 같습니다.

관련 정보