Kiểm tra tốc độ proxy: đo độ trễ và băng thông thế nào cho đúng
Cập nhật:
Kiểm tra tốc độ proxy đúng cách là đo ba con số riêng biệt: độ trễ kết nối tới proxy, thời gian đến byte đầu tiên từ website đích và tốc độ tải (throughput), mỗi thứ đo nhiều lần rồi lấy trung vị. Một lần đo đơn lẻ trên trang speedtest không nói được nhiều, vì tốc độ thực tế phụ thuộc vào quãng đường từ máy bạn tới proxy, từ proxy tới website, và vào chính website đó. Bài này hướng dẫn đo bằng công cụ test tốc độ proxy, bằng curl và Python, cách đọc kết quả, và vì sao vị trí của proxy ảnh hưởng mạnh đến con số bạn thấy.
Ba con số cần đo
Với cào dữ liệu và tài khoản mạng xã hội, độ trễ và TTFB thường quan trọng hơn throughput, vì mỗi request chỉ tải vài chục đến vài trăm kilobyte. Với tải file hay video, throughput mới là con số đáng xem.
| Chỉ số | Nghĩa là gì | Quan trọng khi |
|---|---|---|
| Độ trễ kết nối (connect) | Thời gian mở kết nối TCP từ máy bạn tới máy chủ proxy | Mọi việc; cao nghĩa là proxy ở xa bạn hoặc mạng bạn chậm |
| Thời gian đến byte đầu (TTFB) | Từ lúc gửi request đến khi nhận byte đầu tiên từ website đích | Cào dữ liệu, gọi API, nhiều request nhỏ |
| Tổng thời gian | Từ lúc bắt đầu đến khi tải xong trang | Trải nghiệm duyệt web, trình duyệt antidetect |
| Throughput | Tốc độ tải dữ liệu, tính bằng megabit hoặc megabyte mỗi giây | Tải file lớn, xem video, cập nhật game |
| Độ dao động (jitter) | Chênh lệch giữa các lần đo | Game, gọi thoại, tool cần ổn định |
Đo nhanh bằng công cụ trên web
Cách nhanh nhất là dán proxy vào công cụ test tốc độ proxy hoặc công cụ check proxy để xem proxy có hoạt động và phản hồi nhanh hay chậm. Kết quả này đo từ máy chủ của công cụ tới proxy, không phải từ máy bạn, nên nó hữu ích để so sánh các proxy với nhau và phát hiện IP lỗi, nhưng không thay được phép đo từ chính máy chạy tool của bạn.
Đo chi tiết bằng curl
curl có tuỳ chọn -w in ra thời gian từng giai đoạn. Chạy lệnh từ chính máy hoặc máy chủ sẽ dùng proxy, tới chính website bạn sẽ làm việc:
curl -x http://user:pass@ip:port -o /dev/null -s -w 'connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total} speed=%{speed_download}' https://ten-mien-dich/time_connect: thời gian kết nối tới proxy. Đây là phần phụ thuộc khoảng cách giữa bạn và proxy.time_appconnect: thời điểm hoàn tất bắt tay TLS với website đích qua đường hầm của proxy.time_starttransfer: thời gian đến byte đầu tiên, gồm cả thời gian website xử lý request.speed_download: tốc độ tải trung bình, tính bằng byte mỗi giây. Để đo throughput, tải một file đủ lớn từ nguồn bạn được phép tải thay vì một trang HTML nhỏ.- Chạy lệnh trên 10 đến 20 lần, ghi lại và lấy trung vị. Chạy thêm một lần không qua proxy để có mốc so sánh.
Đo hàng loạt bằng Python
Khi cần so sánh nhiều IP, viết một script nhỏ: với mỗi proxy, gửi vài request tới cùng URL, đo thời gian bằng time.perf_counter() hoặc đọc r.elapsed.total_seconds() trong requests, rồi tính trung vị bằng statistics.median(). Dùng requests.Session() riêng cho mỗi proxy để thấy cả hai trường hợp: request đầu phải mở kết nối mới, các request sau tái sử dụng kết nối nên nhanh hơn.
Đặt timeout cho mọi request và ghi riêng các lần lỗi; một IP nhanh nhưng lỗi một phần năm số lần thì không tốt hơn một IP chậm hơn chút nhưng ổn định. Cách cấu hình proxy trong code có ở hướng dẫn cài proxy cho Python requests.
Vị trí ảnh hưởng thế nào
Mỗi request qua proxy đi hai chặng: từ máy bạn tới proxy, rồi từ proxy tới website. Tổng độ trễ là tổng hai chặng đó cộng thời gian website xử lý. Vì vậy cùng một proxy có thể rất nhanh với người ở gần và chậm với người ở xa, và cùng một proxy có thể nhanh với website đặt máy chủ gần nó và chậm với website ở châu lục khác.
- Bạn ở Việt Nam, dùng proxy Việt Nam truy cập website Việt Nam: cả hai chặng đều ngắn, độ trễ thấp nhất.
- Bạn ở Việt Nam, dùng proxy Mỹ truy cập website Mỹ: chặng đầu vượt đại dương nên độ trễ cao hơn rõ rệt, nhưng chặng sau ngắn. Đây là cái giá bắt buộc để có IP Mỹ.
- Bạn ở Việt Nam, dùng proxy Mỹ truy cập website Việt Nam: đi vòng hai lần qua đại dương, chậm nhất. Chỉ làm vậy khi thật sự cần IP Mỹ.
- Tool chạy trên máy chủ: đặt máy chủ gần proxy (cùng khu vực) giúp giảm chặng đầu.
- Với proxy ở Nhật, Hàn, Singapore, Hồng Kông, người dùng ở Việt Nam thường thấy độ trễ thấp hơn so với proxy ở Mỹ hay Anh, do khoảng cách địa lý gần hơn.
Đọc kết quả và khi nào cần lo
- Connect cao nhưng ổn định: thường do khoảng cách, không phải lỗi. Chọn proxy gần hơn nếu công việc cho phép.
- Connect thấp nhưng TTFB cao: website đích xử lý chậm hoặc đang giới hạn bạn; thử với website khác để so sánh.
- Kết quả dao động mạnh giữa các lần đo: kiểm tra mạng phía bạn (Wi-Fi, VPN đang bật, tải khác trên đường truyền) trước khi kết luận proxy chậm.
- Throughput thấp hơn nhiều so với mạng của bạn: kiểm tra số kết nối đồng thời và thử tải file từ nguồn khác.
- Nếu đã loại trừ các nguyên nhân trên mà proxy vẫn chậm bất thường, xem bài vì sao proxy chậm và gửi ticket kèm kết quả đo.
Câu hỏi thường gặp
Proxy có làm mạng chậm hơn không?
Có thêm một chặng nên độ trễ luôn cao hơn kết nối trực tiếp một chút. Mức chênh lệch phụ thuộc chủ yếu vào khoảng cách giữa bạn và proxy.
Băng thông proxy có bị giới hạn không?
Proxy IPv4 và ISP của VinaProxy không giới hạn băng thông. Tốc độ thực tế phụ thuộc vào mạng của bạn, khoảng cách và website đích.
Vì sao công cụ test trên web báo nhanh mà tool của tôi chậm?
Công cụ web đo từ máy chủ của nó, còn tool của bạn đo từ máy bạn. Khác khoảng cách và khác website đích thì kết quả khác. Hãy đo bằng curl từ chính máy chạy tool.
Nên chọn proxy nước nào để nhanh nhất?
Chọn nước theo yêu cầu công việc trước. Nếu được tự chọn, proxy gần bạn và gần website đích sẽ nhanh nhất; người ở Việt Nam làm việc với website Việt Nam nên dùng IP Việt Nam.
Đo bao nhiêu lần thì đủ tin?
Ít nhất 10 lần cho mỗi proxy, vào vài thời điểm khác nhau trong ngày, rồi xem trung vị. Một lần đo đơn lẻ dễ bị nhiễu.
Chọn IP gần nơi bạn làm việc
Proxy IPv4 riêng ở Việt Nam, Mỹ, Nhật, Hàn, Singapore, Anh, Hồng Kông và ISP tĩnh ở Việt Nam, Mỹ. Không giới hạn băng thông.
Xem bảng giá