curl 명령으로 웹사이트 로딩 속도를 테스트하는 방법
curl 명령어 : https://sangchul.kr/2
curl 버전 정보
$ curl --version
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.53.1 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
http code 출력
$ curl -s -o /dev/null -w '%{http_code}\n' https://sangchul.kr
200
웹사이트 로딩 속도 테스트 #1
$ curl -s -w '\nTesting 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 https://sangchul.kr
Testing Website Response Time for: https://sangchul.kr/
Lookup Time: 0.004
Connect Time: 0.007
Pre-transfer Time: 0.208
Start-transfer Time: 0.526
Total Time: 0.529
웹사이트 로딩 속도 테스트 #2
curl-format.txt 파일 생성
$ vim curl-format.txt
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n
$ curl -w "@curl-format.txt" -o /dev/null -s https://sangchul.kr
time_namelookup: 0.004
time_connect: 0.007
time_appconnect: 0.210
time_pretransfer: 0.210
time_redirect: 0.000
time_starttransfer: 0.488
----------
time_total: 0.488
부록 #1
$ for i in {1..3}; do curl -s -w "%{time_total}\n" -o /dev/null https://sangchul.kr; done
0.689
0.566
0.737
사용 가능한 변수
content_type : The Content-Type of the requested document, if there was any.
filename_effective : The ultimate filename that curl writes out to. This is only meaningful if curl is told to write to a file with the --remote-name or --output option. It's most useful in combi‐nation with the --remote-header-name option. (Added in 7.25.1)
ftp_entry_path : The initial path curl ended up in when logging on to the remote FTP server. (Added in 7.15.4)
http_code : The numerical response code that was found in the last retrieved HTTP(S) or FTP(s) transfer. In 7.18.2 the alias response_code was added to show the same info.
http_connect : The numerical code that was found in the last response (from a proxy) to a curl CONNECT request. (Added in 7.12.4)
local_ip : The IP address of the local end of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0)
local_port : The local port number of the most recently done connection (Added in 7.29.0)
num_connects : Number of new connects made in the recent transfer. (Added in 7.12.3)
num_redirects : Number of redirects that were followed in the request. (Added in 7.12.3)
redirect_url : When an HTTP request was made without -L to follow redirects, this variable will show the actual URL a redirect would take you to. (Added in 7.18.2)
remote_ip : The remote IP address of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0)
remote_port : The remote port number of the most recently done connection (Added in 7.29.0)
size_download : The total amount of bytes that were downloaded.
size_header : The total amount of bytes of the downloaded headers.
size_request : The total amount of bytes that were sent in the HTTP request.
size_upload : The total amount of bytes that were uploaded.
speed_download : The average download speed that curl measured for the complete download. Bytes per second.
speed_upload : The average upload speed that curl measured for the complete upload. Bytes per second.
ssl_verify_result : The result of the SSL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.19.0)
time_appconnect : The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0)
time_connect : The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.
speed_download : The average download speed that curl measured for the complete download. Bytes per second.
speed_upload : The average upload speed that curl measured for the complete upload. Bytes per second.
ssl_verify_result : The result of the SSL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.19.0)
time_appconnect : The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0)
time_connect : The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.
time_namelookup : The time, in seconds, it took from the start until the name resolving was completed.
time_pretransfer : The time, in seconds, it took from the start until the file transfer was just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.
time_redirect : The time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before the final transaction was started. time_redirect shows the complete execution time for multiple redirections. (Added in 7.12.3)
time_starttransfer : The time, in seconds, it took from the start until the first byte was just about to be transferred. This includes time_pretransfer and also the time the server needed to cal‐culate the result.
time_total : The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution.
url_effective : The URL that was fetched last. This is most meaningful if you've told curl to follow location: headers.
'리눅스' 카테고리의 다른 글
[명령어] nmap 명령어 (0) | 2022.01.24 |
---|---|
[명령어] nc 명령어 (0) | 2022.01.24 |
[리눅스] LVM으로 구성된 ROOT(centos-root) 파티션 확장 (0) | 2022.01.20 |
[리눅스] 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS) (0) | 2022.01.19 |
[리눅스] Shell 매개변수 확장(Parameter Expansion) (0) | 2022.01.18 |