[linux] CURL 을 이용한 서버 접속 속도 체크

[root@10.10.10.10 ~]# curl -o /dev/null -w “Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n” -s https://internal-test.bbunbro.com
Connect: 0.002 TTFB: 0.069 Total time: 0.069

외부는 그냥 webpagetest.org 에서 테스트 하시오. 좋습니다.

참고 :
(로컬 호스트 톰켓 http listener 체크)
[root@10.10.10.10 ~]# curl -o /dev/null -w “Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n” -s http://127.0.0.1:8080/www
Connect: 0.000 TTFB: 0.026 Total time: 0.026

A friendly formatter for curl requests to help with debugging.
Raw (디버깅을 위한 스니프 포멧 생성 후 테스트 하는 법)
sniff.txt
\n
============= HOST: ==========\n
\n
local_ip: %{local_ip}\n
local_port: %{local_port}\n
remote_ip: %{remote_ip}\n
remote_port: %{remote_port}\n
\n
======= CONNECTION: ==========\n
\n
http_code: %{http_code}\n
http_connect: %{http_connect}\n
num_connects: %{num_connects}\n
num_redirects: %{num_redirects}\n
redirect_url: %{redirect_url}\n
\n
============= FILE: ==========\n
\n
content_type: %{content_type}\n
filename_effective: %{filename_effective}\n
ftp_entry_path: %{ftp_entry_path}\n
size_download: %{size_download}\n
size_header: %{size_header}\n
size_request: %{size_request}\n
size_upload: %{size_upload}\n
speed_download: %{speed_download}\n
speed_upload: %{speed_upload}\n
ssl_verify_result: %{ssl_verify_result}\n
url_effective: %{url_effective}\n
\n
=== TIME BREAKDOWN: ==========\n
\n
time_appconnect: %{time_appconnect}\n
time_connect: %{time_connect}\n
time_namelookup: %{time_namelookup}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
———-\n
time_total: %{time_total}\n
\n

Steps to Use:
#1. Make a file named sniff.txt and paste the contents of this gist into it
#2. Make an alias in your .bash_profile or .zshrc ( or whatever you use ) that looks like this ( make sure to source .bash_profile the file afterwards ):
alias sniff=’curl -w “@/path/to/sniff.txt” -o /dev/null -s ‘
#3. Now you can use your alias to get some fun data back:
sniff https://api.twitter.com/1.1/search/tweets.json?q=@mrmidi
You will get a response that looks like this:
============= HOST: ==========
local_ip: 192.168.0.67
local_port: 49469
remote_ip: 199.16.156.231
remote_port: 443
======= CONNECTION: ==========
http_code: 400
http_connect: 000
num_connects: 1
num_redirects: 0
redirect_url:
============= FILE: ==========
content_type: application/json; charset=utf-8
filename_effective: /dev/null
ftp_entry_path:
size_download: 62
size_header: 380
size_request: 110
size_upload: 0
speed_download: 57.000
speed_upload: 0.000
ssl_verify_result: 0
url_effective: https://api.twitter.com/1.1/search/tweets.json?q=mrmidi
=== TIME BREAKDOWN: ==========
time_appconnect: 0.724
time_connect: 0.566
time_namelookup: 0.526
time_pretransfer: 0.724
time_redirect: 0.000
time_starttransfer: 1.078
———-
time_total: 1.078

글쓴이