Giới hạn sử dụng proxy

Giới hạn sử dụng proxy

Giới hạn sử dụng proxy quyết định dịch vụ có thể truyền bao nhiêu dữ liệu cho bạn, bạn có thể gửi công việc qua đó nhanh đến mức nào và dịch vụ có thể truy cập những đích nào. Nhiều quy tắc có thể cùng áp dụng cho một tác vụ. Lưu lượng không giới hạn vẫn có thể đi kèm giới hạn kết nối đồng thời và hạn chế đối với một số trang web hoặc cổng. Mỗi điều kiện kiểm soát một phần khác nhau của dịch vụ.

Khi chọn dịch vụ proxy, hãy đối chiếu các điều kiện này với công việc mà ứng dụng thực sự thực hiện. Số lượng IP hay một lần thử thành công chỉ cho biết một phần bức tranh. Hiểu mỗi giới hạn đo lường điều gì giúp bạn ước tính năng lực và xác định điều kiện cần thay đổi khi dịch vụ chưa đáp ứng được tác vụ.

Nhà cung cấp có thể giới hạn những gì

Một số giới hạn mô tả tài nguyên bạn tiêu thụ trong một khoảng thời gian. Các giới hạn khác kiểm soát khối lượng công việc tại một thời điểm hoặc quyết định một kết nối có được phép hay không. Những phân biệt dưới đây vẫn hữu ích ngay cả khi gói chỉ quảng cáo một hoặc hai thông số này.

Thông sốĐại lượng được đoYếu tố được quyết định
Dung lượng dữ liệu truyềnSố byte được truyềnKhông giới hạn hoặc có hạn mức, tùy sản phẩm
Hạn mức yêu cầuSố thao tác được tính trong kỳ hạn mứcLượng công việc được tính mà gói bao gồm
Tốc độ truyềnSố bit hoặc byte mỗi giâyDữ liệu có thể được truyền nhanh đến mức nào
Tần suất yêu cầuSố yêu cầu mỗi giây hoặc phútTần suất được phép gửi công việc mới
Kết nối đồng thờiCác kết nối được tính tại cùng một thời điểmSố kết nối có thể cùng duy trì trạng thái mở
Quyền truy cập đíchTrang web, địa chỉ hoặc thao tác được yêu cầuNhững tài nguyên và chức năng được phép
Quyền truy cập cổngCổng đích và giao thức vận chuyểnNhững dịch vụ mạng mà proxy có thể truy cập

Nhà cung cấp dùng những quy tắc này để phân bổ năng lực mạng và tài nguyên xử lý, kiểm soát chi phí và hạn chế hoạt động không mong muốn. Tác động của chúng khác nhau: giới hạn kết nối cao hơn cho phép có thêm kết nối cùng lúc, còn quyền truy cập một đích bị chặn làm thay đổi loại tác vụ dịch vụ có thể thực hiện. Thay đổi một điều kiện không tự động làm thay đổi các điều kiện khác.

Kết nối đồng thời

Giới hạn kết nối đồng thời quy định số kết nối có thể cùng duy trì trạng thái mở. Trình duyệt hoặc ứng dụng khác có thể mở nhiều kết nối cho một tác vụ. Vì vậy, số tab, hồ sơ hoặc luồng thực thi của chương trình không cho biết chính xác phần hạn mức này đang được sử dụng.

Kết nối có thể vẫn mở giữa các yêu cầu, còn HTTP/2 có thể truyền nhiều yêu cầu trên một kết nối. Gửi ít yêu cầu hơn mỗi phút chưa chắc giải phóng được các kết nối đang chiếm chỗ. Bài viết về kết nối đồng thời giải thích những gì tiêu thụ hạn mức này và vì sao nó khác với số yêu cầu.

Các giới hạn có thể ảnh hưởng lẫn nhau. Nếu một phản hồi lớn mất nhiều thời gian truyền hơn, kết nối của nó có thể bị chiếm dụng lâu hơn. Chương trình tiếp tục khởi chạy công việc mới có thể chạm giới hạn kết nối dù tần suất yêu cầu không đổi. Bổ sung công việc song song lúc đó có thể làm tăng thời gian chờ và lỗi mà không tăng lượng công việc hoàn thành trong mỗi đơn vị thời gian.

Trang web và ứng dụng bị chặn

Nhà cung cấp có thể hạn chế truy cập các trang web, địa chỉ hoặc thao tác cụ thể. Một đích có thể nằm trong danh sách chặn dù lưu lượng không giới hạn và vẫn còn năng lực kết nối. Quyền truy cập cũng có thể khác nhau giữa các sản phẩm của cùng một nhà cung cấp. Bài viết về trang web và ứng dụng bị chặn giải thích nguồn gốc các danh sách này và yếu tố quyết định quyền truy cập một tài nguyên cụ thể.

Ứng dụng có thể dùng nhiều đích: trang chính mở được nhưng một chức năng riêng lại thất bại. Trang web đích cũng có thể áp dụng hạn chế riêng ngay cả khi nhà cung cấp proxy cho phép truy cập. Để hiểu lỗi, trước tiên hãy xác định tài nguyên nào không truy cập được và bên nào đã từ chối yêu cầu.

Cổng bị chặn

Truy cập được một trang web không có nghĩa mọi dịch vụ mạng trên cùng máy chủ đều khả dụng. Nhà cung cấp có thể cho phép lưu lượng web nhưng chặn cổng gửi thư. Điều quan trọng ở đây là cổng đích mà ứng dụng yêu cầu. Bài viết về cổng bị chặn giải thích vì sao cổng này khác với cổng dùng để kết nối đến chính proxy.

Khả năng hỗ trợ giao thức vận chuyển là một phần khác của quyền này. TCP và UDP là hai cách truyền dữ liệu khác nhau; truy cập được một cổng TCP không chứng minh có thể truy cập cổng UDP cùng số. Sản phẩm phải hỗ trợ và cho phép giao thức vận chuyển cần dùng. Thêm IP hay tăng hạn mức kết nối không thể thay thế quyền còn thiếu.

Dung lượng dữ liệu, tốc độ truyền và số yêu cầu

Dung lượng dữ liệu truyền

Lưu lượng có thể không giới hạn hoặc được bán kèm hạn mức dữ liệu, tùy nhà cung cấp và sản phẩm. Một số nhà cung cấp bán lượng dữ liệu cố định, chẳng hạn gói gigabyte hàng tháng. Với gói như vậy, hãy kiểm tra thời hạn sử dụng, thời điểm đặt lại hạn mức và việc chuyển dữ liệu chưa dùng sang kỳ sau. Các quy tắc tính toán này áp dụng cho sản phẩm có hạn mức dữ liệu, không phải điều kiện chung của mọi dịch vụ proxy.

Kích thước kết quả được lưu không phải ước tính lưu lượng đáng tin cậy. Trích xuất một giá tiền ngắn hoặc tên sản phẩm có thể đòi hỏi tải cả trang. Trình duyệt còn có thể yêu cầu hình ảnh, tập lệnh và các tệp khác. Các lần thử lại có thể truyền dữ liệu thêm lần nữa. Đo ứng dụng thực tế giúp ước tính tải mạng. Nếu sản phẩm tính phí theo dung lượng dữ liệu truyền, hãy kiểm tra nhà cung cấp tính những byte nào.

Tốc độ truyền

Giới hạn tốc độ truyền kiểm soát lượng dữ liệu đi qua trong một đơn vị thời gian. Nó thường được biểu thị bằng bit mỗi giây, như Mbps, hoặc byte mỗi giây, như MB/s. Một byte có tám bit: 80 Mbps tương đương 10 MB/s trước khi tính phần dữ liệu phụ trợ của giao thức. Đây là đơn vị tốc độ; hạn mức hàng tháng tính bằng GB trả lời một câu hỏi khác.

Phạm vi áp dụng của tốc độ quảng cáo rất quan trọng. Cổng mạng của máy chủ có tốc độ danh định nhất định không có nghĩa mỗi khách hàng hoặc mỗi kết nối đều nhận được tốc độ đó. Nhiều lượt truyền có thể dùng chung một hạn mức. Tốc độ thực tế còn phụ thuộc tuyến đường, máy chủ đích và kết nối của chính máy khách, nên mức trần mà nhà cung cấp công bố không đảm bảo kết quả cho mọi lượt tải.

Thời gian phản hồi cũng quan trọng bên cạnh tốc độ truyền. Máy chủ có thể bắt ứng dụng chờ trước khi gửi một phản hồi nhỏ, dù năng lực truyền số byte đó còn dư dả. Lượt tải lớn nhạy hơn với tốc độ truyền duy trì; công việc gồm nhiều yêu cầu ngắn có thể chịu tác động lớn hơn từ độ trễ phản hồi và tần suất yêu cầu được phép.

Hạn mức yêu cầu và tần suất yêu cầu

Hạn mức yêu cầu cho biết gói bao gồm bao nhiêu thao tác được tính. Giới hạn tần suất yêu cầu xác định chúng có thể được gửi sát nhau đến đâu. Số dư còn nhiều không có nghĩa bạn được dùng hết trong một đợt ngắn. Hai giới hạn này có thể tồn tại độc lập, kể cả ở sản phẩm không tính phí theo dung lượng dữ liệu truyền.

Thao tác được tính cũng cần được định nghĩa rõ. Một lần nhấp, một lượt truy cập trang, một yêu cầu HTTP và một tác vụ thu thập dữ liệu hoàn thành là những sự kiện khác nhau. Một lượt truy cập trang có thể tạo ra nhiều yêu cầu HTTP; một tác vụ API được quản lý có thể gồm nhiều lần thử do nhà cung cấp thực hiện. Việc những lần thử đó có trừ vào hạn mức khách hàng hay không phụ thuộc quy tắc tính của sản phẩm.

Giới hạn tần suất còn có cửa sổ thời gian và quy tắc cho các đợt tăng đột biến ngắn. Chia giới hạn mỗi phút cho sáu mươi cho ra mức trung bình, nhưng không cho biết dịch vụ xử lý một lô gửi cùng lúc ra sao. Dàn công việc được phép theo thời gian có thể đáp ứng giới hạn tần suất mà không đổi tổng khối lượng. Điều đó không khôi phục hạn mức yêu cầu đã dùng.

Tài khoản, IP hoặc sản phẩm nào dùng chung giới hạn

Một con số chỉ hữu ích khi bạn biết những gì cùng dùng nó. Nhà cung cấp có thể áp dụng giới hạn cho tài khoản, đơn hàng, từng IP proxy, IP máy khách được phép hoặc một nhóm được xác định khác. Ví dụ, tổng hạn mức tốc độ truyền của tài khoản được chia sẻ giữa các chương trình dùng tài khoản đó. Cấp IP đầu ra khác nhau cho các chương trình không tạo hạn mức riêng cho từng chương trình.

Nhiều cấp giới hạn có thể cùng áp dụng. Dịch vụ có thể đặt mức tối đa cho mỗi IP proxy và một mức tối đa thứ hai cho toàn gói. Phân phối công việc giữa các IP có thể giúp với giới hạn thứ nhất, nhưng tổng hạn mức gói vẫn áp dụng. Giới hạn gắn với IP công cộng của máy khách cũng có thể được chia sẻ giữa nhiều thiết bị truy cập internet qua địa chỉ đó.

Quy tắc sản phẩm cũng quan trọng. Kết nối proxy trực tiếp, API thu thập dữ liệu được quản lý và một mạng khác do cùng nhà cung cấp bán có thể có hạn mức và quyền khác nhau. Đơn vị API đếm có thể là tác vụ hoặc kết quả thay vì kết nối mạng. Hãy đọc giới hạn của sản phẩm định dùng, kể cả các thiết lập riêng cho tài khoản của bạn.

Điều gì xảy ra khi chạm giới hạn

Cách dịch vụ phản ứng phụ thuộc quy tắc. Khi chạm mức trần tốc độ truyền, dữ liệu có thể tiếp tục đi qua ở tốc độ bị giới hạn. Với giới hạn tần suất yêu cầu, công việc vượt mức có thể phải chờ hoặc bị từ chối. Khi chạm giới hạn kết nối, dịch vụ có thể từ chối kết nối mới trong khi kết nối hiện có vẫn dùng được. Với sản phẩm có hạn mức dữ liệu hoặc yêu cầu, dùng hết hạn mức có thể đòi hỏi gia hạn hoặc mua bổ sung; điều khoản nhà cung cấp quyết định các lựa chọn có sẵn.

Vì vậy, từ “không giới hạn” cần có đối tượng: lưu lượng, yêu cầu hay kết nối không giới hạn. Mỗi cụm mô tả một thông số. Gói lưu lượng không giới hạn vẫn có thể bị giới hạn tốc độ truyền và số kết nối. Nếu nhà cung cấp dùng điều kiện sử dụng hợp lý để thay đổi hạn mức sau khi sử dụng nặng kéo dài, các điều kiện đó cũng thuộc gói. Chỉ riêng từ này không định nghĩa toàn bộ quy tắc.

Thông báo rõ ràng từ nhà cung cấp hữu ích hơn một lỗi chung chung. HTTP 429 có nghĩa dịch vụ phản hồi cho rằng số yêu cầu quá cao theo quy tắc của nó. Trước tiên hãy xác định phản hồi đến từ dịch vụ proxy hay đích. Hết thời gian chờ có thể có nguyên nhân khác, như đích phản hồi chậm hoặc sự cố mạng. Thống kê sử dụng, chi tiết lỗi và thời điểm thử giúp phân biệt vấn đề hạn mức với lỗi ở nơi khác.

Gửi lại liên tục công việc bị từ chối có thể làm vấn đề tần suất nghiêm trọng hơn và tiêu thụ thêm hạn mức. Thay đổi hữu ích phải nhắm đúng điều kiện đã biết: giảm tần suất gửi, đóng kết nối không còn cần thiết, bổ sung hạn mức đã cạn hoặc xác nhận quyền truy cập đích. Nâng cấp gói chung chỉ có ích nếu làm thay đổi đúng điều kiện đó.

Đối chiếu giới hạn với toàn bộ tác vụ

Hãy bắt đầu từ kết quả và thời hạn cần đạt. Ví dụ minh họa: giả sử một công việc cần 6.000 yêu cầu HTTP trong 30 phút, với phản hồi trung bình 0,5 MB. Như vậy trung bình là 200 yêu cầu mỗi phút và khoảng 3 GB dữ liệu phản hồi theo đơn vị thập phân. Ước tính chưa gồm dữ liệu gửi đi, tài nguyên trình duyệt bổ sung và các lần thử lại. Phải tính chúng nếu công việc thực tế tạo ra chúng và dịch vụ có tính chúng.

Các tổng số này chưa xác định được hạn mức kết nối bạn cần. Hãy thử hoạt động song song thực tế của ứng dụng và thời gian kết nối bị chiếm dụng. Tính cả các chương trình khác dùng chung giới hạn và những đợt tăng ngắn khi nhiều công việc bắt đầu cùng lúc. Đo riêng dung lượng dữ liệu, tần suất yêu cầu và kết nối đồng thời; một bộ đếm không thể thay cho cả ba.

Dùng đúng sản phẩm và các đích dự kiến khi thử, kể cả các chức năng ứng dụng cần để hoàn thành công việc. Một phép kiểm tra nhỏ thành công chứng minh một thao tác đã hoạt động. Một lượt chạy đại diện bổ sung bằng chứng về tải kéo dài, mức đỉnh và tài nguyên toàn tác vụ cần. Hãy dành năng lực dự phòng cho biến động quan sát được trong thử nghiệm thay vì xem mức trung bình là mức tối đa an toàn.

Nếu yêu cầu chưa rõ, hãy mô tả cụ thể cho bộ phận hỗ trợ: sản phẩm, máy chủ đích, cổng đích và giao thức vận chuyển, dung lượng dự kiến, tần suất yêu cầu, số kết nối đỉnh và lỗi chính xác. Nhờ đó nhà cung cấp có thể kiểm tra hạn mức hoặc quyền liên quan. Kết quả cần đạt là giới hạn dịch vụ công bố phù hợp với khối lượng công việc bạn định chạy.

Quay lại cơ sở kiến thức