Tính đồng thời của proxy Scrapy trên nhiều miền
Dùng giới hạn đồng thời toàn cục của trình tải xuống khi nhiều miền đích dùng chung một hạn mức proxy, rồi tính cả các trình thu thập khác chia sẻ tài khoản đó.
Nếu mỗi đích dùng một tài khoản proxy, hạn mức yêu cầu đồng thời của tài khoản đó có thể bị tiêu hết trên tất cả các đích ấy. Chỉ giới hạn theo từng miền không diễn đạt ngân sách chung đó.
Với một tài khoản giả định cho phép tối đa 20 yêu cầu đồng thời, hãy để dư một ít và đặt giới hạn toàn cục của trình tải xuống trong trình thu thập:
CONCURRENT_REQUESTS = 16
Đây là cách phân bổ minh họa, không phải giá trị khuyến nghị cho mọi nhà cung cấp. Scrapy định nghĩa CONCURRENT_REQUESTS là số yêu cầu đồng thời tối đa của trình tải xuống. Các kiểm soát theo miền có thể giảm đồng thời hơn nữa; chúng không thay thế mức trần toàn cục.
Hãy tính cả các trình thu thập khác. Hai trình thu thập độc lập, mỗi trình được phép 16 yêu cầu, có thể cùng nhau vượt hạn mức chung 20. Hãy chia ngân sách một cách có chủ đích hoặc áp một giới hạn chung tại nơi các máy khách đó gặp nhau.
Cũng cần xác định nhà cung cấp đếm cái gì. Yêu cầu HTTP, kết nối TCP đang mở, đường hầm hoạt động và yêu cầu mỗi giây là những đại lượng khác nhau. Kết nối liên tục và ghép kênh có thể làm số đếm của chúng khác đi. Vì vậy, thiết lập đồng thời yêu cầu không phải là bộ giới hạn kết nối hay tốc độ đầy đủ.
Giữ nhịp của trang đích như một ràng buộc riêng. Mức đồng thời thấp hơn hoặc độ trễ tải xuống vẫn có thể phù hợp với một đích cụ thể ngay cả khi tài khoản proxy còn dung lượng chưa dùng.