웹사이트 검색

Linux 터미널에서 웹사이트 로딩 속도를 테스트하는 방법


웹 사이트 응답 시간은 사용자 경험에 큰 영향을 미칠 수 있습니다. 웹 개발자이거나 단순히 여러 부분을 함께 구성하는 일을 특별히 담당하는 서버 관리자라면 사용자가 느끼지 못하도록 이 점을 강조해야 합니다. 귀하의 사이트에 액세스하는 동안 좌절감을 느끼기 때문에 실제로 "속도가 필요"합니다.

추가 읽기: httpstat – 웹사이트 성능을 확인하기 위한 Curl 통계 도구

이 가이드에서는 Linux 명령줄에서 웹사이트 응답 시간을 테스트하는 방법을 보여줍니다. 여기에서는 시간을 초 단위로 확인하는 방법을 보여줍니다.

  • 이름 확인을 수행합니다.
  • 서버에 대한 TCP 연결을 위해.
  • 파일 전송을 시작하려면
  • 첫 번째 바이트가 전송됩니다.
  • 완전한 운영을 위해.

또한 HTTPS 지원 사이트의 경우 리디렉션 및 서버에 대한 SSL 연결/핸드셰이크가 완료되는 데 걸리는 시간(초)을 테스트하는 방법도 살펴보겠습니다. 좋습니다. 그렇죠. 시작해 보겠습니다.

cURL은 FILE, FTP, FTPS, HTTP, HTTPS 등의 프로토콜을 사용하여 서버와 데이터를 전송하는 강력한 명령줄 도구입니다. 대부분의 경우 명령줄 다운로더로 사용되거나 HTTP 헤더를 확인하는 데 사용됩니다. 그러나 여기서는 잘 알려지지 않은 기능 중 하나를 설명하겠습니다.

cURL에는 작업이 완료된 후 stdout에 정보를 인쇄하는 데 유용한 옵션인 -w가 있습니다. 여기에는 위에 나열된 웹사이트의 다양한 응답 시간을 테스트하는 데 사용할 수 있는 몇 가지 변수가 있습니다.

우리는 리터럴 문자열이나 파일 내부로 주어진 형식으로 전달될 수 있는 시간 관련 변수 중 일부를 사용할 것입니다.

터미널을 열고 아래 명령을 실행하세요.

curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com

위 형식의 변수는 다음과 같습니다.

  • time_namelookup – 시작부터 이름 확인이 완료될 때까지 걸린 시간(초)입니다.
  • time_connect – 시작부터 원격 호스트(또는 프록시)에 대한 TCP 연결이 완료될 때까지 걸린 시간(초)입니다.
  • time_pretransfer – 시작부터 파일 전송이 막 시작될 때까지 걸린 시간(초)입니다.
  • time_starttransfer – 처음부터 첫 번째 바이트가 전송되려고 할 때까지 걸린 시간(초)입니다.
  • time_total – 전체 작업이 지속된 총 시간(초)(밀리초 단위).

형식이 너무 길면 파일에 쓰고 아래 구문을 사용하여 읽을 수 있습니다.

curl -s -w "@format.txt" -o /dev/null http://www.google.com

위 명령에서 플래그는 다음과 같습니다.

  • -s – 컬이 자동으로 작동하도록 지시합니다.
  • -w – stdout에 정보를 인쇄합니다.
  • -o – 출력을 리디렉션하는 데 사용됩니다. 여기서는 출력을 /dev/null로 리디렉션하여 삭제합니다.

HTTPS 사이트의 경우 아래 명령을 실행할 수 있습니다.

curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://www.google.com

위 형식에서 새로운 시간 변수는 다음과 같습니다.

  • time_appconnect – 시작부터 원격 호스트에 대한 SSL 연결/핸드셰이크가 완료될 때까지 걸린 시간(초)입니다.
  • time_redirect – 최종 거래가 시작되기 전에 이름 조회, 연결, 사전 전송 및 전송을 포함한 모든 리디렉션 단계에 걸린 시간(초)입니다. 여러 리디렉션에 대한 전체 실행 시간을 계산합니다.

주목해야 할 중요한 사항.

  • 다양한 테스트를 실행하면서 응답 시간 값이 여러 가지 요인으로 인해 계속 변경된다는 점을 알 수 있으므로 여러 값을 수집하여 평균 속도를 얻는 것이 좋습니다.
  • 둘째, 위 명령의 결과를 보면 HTTP를 통해 웹 사이트에 액세스하는 것이 HTTPS를 통해 액세스하는 것보다 훨씬 빠르다는 것을 알 수 있습니다.

자세한 내용은 cURL 매뉴얼 페이지를 참조하세요.

man curl

마지막으로, 결과가 만족스럽지 않다면 서버나 코드 내에서 몇 가지 조정을 해야 합니다. Linux에서 웹 사이트를 더 빠르게 로드하기 위한 프로그램과 팁을 설명하는 다음 튜토리얼을 사용하는 것을 고려해 보세요.

  1. Debian 및 Ubuntu에 Ngx_Pagespeed(속도 최적화)를 사용하여 Nginx 설치
  2. CentOS 7에서 Ngx_Pagespeed를 사용하여 Nginx 성능 속도 향상
  3. Nginx 및 Gzip 모듈을 사용하여 웹 사이트 속도를 높이는 방법 알아보기
  4. TCP BBR을 사용하여 Linux 서버 인터넷 속도를 높이는 방법

그게 다야! 이제 명령줄에서 웹사이트 응답 시간을 테스트하는 방법을 알았습니다. 아래 피드백 양식을 통해 질문하실 수 있습니다.