Եթե յուրաքանչյուր նպատակակետ օգտագործում է մեկ պրոքսի հաշիվ, ապա այդ հաշվի միաժամանակյա հարցումների թույլտվությունը կարող է սպառվել բոլոր այդ նպատակակետերում։ Միայն դոմենի սահմանը չի արտահայտում այդ ընդհանուր բյուջեն։

Առավելագույնը 20 միաժամանակյա հարցում թույլատրող հիպոթետիկ հաշվի համար թողեք որոշակի պահուստ և սահմանեք crawler-ի գլոբալ ներբեռնիչի սահմանը՝

CONCURRENT_REQUESTS = 16

Սա պատկերավոր բաշխում է, ոչ թե յուրաքանչյուր մատակարարի համար առաջարկվող արժեք։ Scrapy-ն CONCURRENT_REQUESTS-ը սահմանում է որպես ներբեռնիչի միաժամանակյա հարցումների առավելագույն քանակ։ Դոմենի կառավարումը կարող է ավելի նվազեցնել զուգահեռականությունը, սակայն չի փոխարինում գլոբալ վերին սահմանին։

Հաշվարկի մեջ ներառեք նաև այլ crawler-ներ։ Երկու անկախ crawler, որոնցից յուրաքանչյուրին թույլատրված է 16 հարցում, միասին կարող են գերազանցել 20-ի ընդհանուր թույլտվությունը։ Բյուջեն բաժանեք գիտակցված կամ սահմանեք ընդհանուր սահման այնտեղ, որտեղ հանդիպում են այդ հաճախորդները։

Նաև պարզեք, թե ինչ է հաշվում մատակարարը։ HTTP հարցումները, բաց TCP միացումները, ակտիվ թունելները և վայրկյանում հարցումները տարբեր մեծություններ են։ Մշտական միացումները և մուլտիպլեքսավորումը կարող են տարբերել դրանց քանակները։ Ուստի հարցումների զուգահեռականության կարգավորումը միացումների կամ արագության ամբողջական սահմանափակիչ չէ։

Պահեք թիրախ կայքի տեմպը որպես առանձին սահմանափակում։ Ավելի ցածր զուգահեռականությունը կամ ներբեռնման ուշացումը կարող են դեռևս տեղին լինել առանձին նպատակակետի համար, երբ անգամ պրոքսի հաշիվն ունի չօգտագործված հզորություն։

Առնչվող հոդվածներ