Công cụ Linux đơn giản để xác định thời gian yêu cầu http tính bằng mili giây


12

Tôi đang tìm kiếm một công cụ đơn giản hoặc lệnh tích hợp sẽ cho phép tôi đo với độ chính xác đến mili giây thời gian cần thiết để tìm nạp một trang web từ xa từ một URL nhất định.

Câu trả lời:


12

Điều này có làm những gì bạn đang tìm kiếm?

time wget http://example.com

Điều này sẽ bao gồm thời gian cần thiết để bắt đầu và chạy wget, có thể lâu hơn đáng kể so với thời gian phản hồi của máy chủ.
Paul Lynch

@PaulLynch: Tôi đã làm một bài kiểm tra đơn giản. Tôi đã chạy cái này trong một thiết bị đầu cuối: rm foo; touch foo; python -m SimpleHTTPServervà trong một thiết bị khác: time wget --quiet --output-document=/dev/null localhost:8000/foovà kết quả là 2 mili giây. Tôi đã chạy tương tự wgetvới google.com (lấy khoảng 10 nghìn ký tự) và nhận được khoảng một phần tư giây. Vì vậy, hãy gọi thời gian bắt đầu / chạy khoảng 1% trong trường hợp đó. Sau đó, để so sánh, tôi đã làm time curl file://foovà có khoảng 4 mili giây.
Tạm dừng cho đến khi có thông báo mới.

Có vẻ như bạn đã đúng, đối với các yêu cầu http - mà tôi chỉ nhận được khoảng 2ms chậm lại. Tôi đã cố gắng để có được một URL https. Do đó, wget chậm hơn khoảng 25ms cho yêu cầu Chrome trả về sau khoảng 10ms (chứ không phải "từ bộ đệm"). Cả wget và Chrome đều đang chạy trên cùng một máy với máy chủ web và đang xử lý nó là "localhost", vì vậy tôi đổ lỗi cho wget về sự khác biệt về thời gian.
Paul Lynch

7

Httping sẽ làm điều đó.

Httping giống như 'ping' nhưng dành cho các yêu cầu http. Cung cấp cho nó một url và nó sẽ cho bạn thấy mất bao lâu để kết nối, gửi yêu cầu và truy xuất trả lời (chỉ các tiêu đề). Hãy lưu ý rằng việc truyền qua mạng cũng mất thời gian! Vì vậy, nó đo độ trễ của máy chủ web + mạng.


3

Wireshark sẽ cho phép bạn kiểm tra chuyển khoản rất nhiều chi tiết. Bạn có thể thấy mất bao lâu để tải xuống một tệp, như Dennis đề xuất hoặc nếu bạn mở URL trong trình duyệt web, bạn có thể thấy mất bao lâu để tải tất cả các tệp liên quan (hình ảnh, tập lệnh, v.v.).


2

Bạn có thể làm điều đó với curl theo câu trả lời này

Tạo một tệp mới curl-format.txtvà dán vào:

    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

Sau đó chạy curl như thế này:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.