Trong phần tiếp theo, chúng ta sẽ xem xét cách chúng ta có thể đo thời gian phản hồi của một trang web từ thiết bị đầu cuối bằng cách sử dụng cURL. Điều này thật thú vị để biết, vì nó có thể có tác động lớn đến trải nghiệm người dùng.
Cho dù bạn là nhà phát triển web hay bạn quản lý một máy chủ, bạn sẽ biết rằng tốc độ nó là thứ luôn phải sẵn sàng. Điều quan trọng là mọi thứ hoạt động chính xác để người dùng không cảm thấy bực bội khi truy cập trang web của bạn.
Tiếp theo, chúng ta sẽ xem một số lệnh để có thể đo thời gian phản hồi của một trang web. Với họ, chúng tôi sẽ có thể kiểm tra thời gian tính bằng giây của các trường khác nhau của cả trang http và https. Chúng tôi sẽ thực hiện mọi thứ từ dòng lệnh Ubuntu bằng cURL,
Sử dụng cURL để đo tốc độ tải
Từ các trang web có HTTP
cURL có sẵn nhiều tùy chọn, trong số đó chúng ta có thể tìm thấy -w, điều này sẽ hữu ích cho in thông tin ra đầu ra tiêu chuẩn sau khi một hoạt động hoàn thành. Nó cũng cung cấp cho chúng tôi một số các biến mà chúng tôi có thể sử dụng để kiểm tra các thời gian phản hồi khác nhau của một trang web.
Để đạt được phép đo này, chúng tôi sẽ sử dụng một số biến có thể tìm thấy trong tài liệu chính thức của cURL. Chúng có thể được chuyển theo một định dạng nhất định dưới dạng một chuỗi ký tự hoặc trong một tệp.
Các biến mà chúng tôi sẽ sử dụng sẽ như sau:
- time_namelookup → Thời gian tính bằng giây. Được lấy từ khi bắt đầu cho đến khi việc phân giải tên hoàn tất.
- thời gian_kết nối → Thời gian tính bằng giây. Từ khi khởi động đến khi hoàn thành kết nối TCP tới máy chủ từ xa hoặc proxy.
- thời gian_pretransfer → Thời gian tính bằng giây từ đầu cho đến khi quá trình chuyển tệp sắp bắt đầu. Điều này bao gồm tất cả các lệnh và thương lượng trước khi chuyển giao cụ thể cho các giao thức liên quan.
- time_starttransfer → Thời gian tính bằng giây từ đầu cho đến khi byte đầu tiên sắp được chuyển. Điều này bao gồm time_pretransfer và cả thời gian để máy chủ tính toán kết quả.
- thời gian_tổng cộng → Tổng thời gian tính bằng giây mà toàn bộ hoạt động kéo dài. Nó được giải quyết trong mili giây.
đến thực hiện lệnh mà chúng ta sẽ gắn kết với các biến trước đó, chúng tôi sẽ chỉ phải mở một thiết bị đầu cuối (Ctrl + Alt + T) và viết:
curl -s -w '\nTiempo de respuesta para: %{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
Vì điều này có thể trở nên hơi rườm rà để ghi nó vào một thiết bị đầu cuối mỗi khi chúng ta muốn sử dụng nó, chúng ta có thể chọn ghi nó vào một tệp.
Bên trong tệp, mà tôi sẽ đặt tên cho control-speed-web.txt, bạn phải dán mã sau:
\nTiempo de respuesta para: %{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
Sau khi lưu và quay lại thiết bị đầu cuối, chúng tôi có thể sử dụng tệp này bằng cách gõ cú pháp sau:
curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com
Lệnh trên sẽ hoạt động trên chế độ im lặng nhờ -s. Với -w in thông tin trong tiêu chuẩn. Đối với chuyển hướng đầu ra đến / dev / null, hãy sử dụng -o.
Từ các trang web có HTTPS
Nếu chúng tôi quan tâm đến việc sử dụng thử nghiệm này cho các trang web HTTPS, chúng tôi có thể thực hiện lệnh trong thiết bị đầu cuối (Ctrl + Alt + T):
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect 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://ubunlog.com
Trong định dạng này, nhiều biến thời gian hơn được sử dụng ngoài các biến trên. Và đây là:
- time_appconnect → Thời gian tính bằng giây từ đầu cho đến khi hoàn tất kết nối SSL / SSH / etc với máy chủ từ xa.
- time_redirect → Thời gian tính bằng giây, mất tất cả các bước chuyển hướng trước khi giao dịch cuối cùng bắt đầu. Tính tổng thời gian thực hiện cho nhiều lần chuyển hướng.
Như trong trường hợp trước, nó cũng có thể được ghi vào một tệp. Như trong trường hợp trước, tôi sẽ gọi control-speed-web.txtvà bên trong bạn sẽ phải dán:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect 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
Đã lưu tệp và quay lại thiết bị đầu cuối, chúng tôi có thể sử dụng nó với cú pháp:
curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com
Để biết thêm thông tin, bạn có thể tham khảo ý kiến tài liệu cUrl hoặc trang người đàn ông:
man curl
Como giá trị thời gian phản hồi sẽ thay đổi do các yếu tố khác nhau, nên thực hiện các thử nghiệm khác nhau và thiết lập tốc độ trung bình. Một điều mà chúng ta cũng sẽ thấy là việc truy cập một trang web thông qua HTTP thường nhanh hơn nhiều so với việc truy cập thông qua HTTPS.