Scrapy AutoThrottle qua proxy: slot và độ trễ
Giữ các slot tải xuống của trang đích tách biệt khỏi các tuyến proxy và diễn giải độ trễ như đường đi yêu cầu được quan sát.
Mặc định, Scrapy gán các slot tải xuống theo tên miền của URL yêu cầu. Gán proxy HTTP cho một yêu cầu không biến URL đó thành tên máy chủ của proxy. Vì vậy, các yêu cầu đến những trang khác nhau có thể giữ các slot khác nhau trong khi dùng chung một trung gian.
AutoThrottle điều chỉnh độ trễ của từng slot dựa trên độ trễ tải xuống quan sát được. Giới hạn đồng thời tiêu chuẩn theo tên miền và độ trễ tải xuống tối thiểu vẫn được áp dụng.
Kiểm tra cách nhóm trước khi thay đổi thuật toán
Một middleware tùy chỉnh có thể gán request.meta["download_slot"], ghi đè lựa chọn slot thông thường. Một số tiện ích mở rộng proxy dùng cách nhóm riêng. Hãy kiểm tra các cài đặt đó nếu các trang không liên quan có vẻ dùng chung một bộ giới hạn.
Ngược lại, gán một slot khác cho mỗi proxy có thể khiến nhiều proxy cùng lúc truy cập cùng một mục tiêu. Điều đó có thể phá vỡ giới hạn toàn trang mà trình thu thập phải tôn trọng. Chọn khóa slot theo tài nguyên được bảo vệ.
Độ trễ bao gồm đường đi bạn đã dùng
Scrapy đo độ trễ từ khi gửi yêu cầu đến khi nhận tiêu đề HTTP. Một yêu cầu đi qua proxy có thể bao gồm cả độ trễ xếp hàng và chuyển tiếp của trung gian trong phép đo đó. AutoThrottle không có được thời gian xử lý riêng chỉ của nguồn gốc.
Tăng đồng thời không thể khiến phép đo đó cô lập trang web. Hãy giữ phép lịch sự với mục tiêu và dung lượng proxy thành các giới hạn riêng khi cả hai đều quan trọng. Một proxy dùng chung có thể cần ngân sách đồng thời bổ sung trên các slot mục tiêu, trong khi mỗi mục tiêu vẫn giữ chính sách tốc độ của riêng nó.