Paralelnost Scrapy proksija na više domena
Koristite globalno ograničenje paralelnosti preuzimača kada više ciljnih domena troši istu proksijsku kvotu, a zatim uzmite u obzir i druge crawlere koji dijele taj račun.
Ako svaka destinacija koristi jedan proksijski račun, dozvola za istovremene zahtjeve tog računa može se potrošiti na svim tim destinacijama. Ograničenje samo po domeni ne izražava taj zajednički budžet.
Za hipotetički račun koji dopušta najviše 20 istovremenih zahtjeva, ostavite malo prostora i postavite globalno ograničenje preuzimača crawlara:
CONCURRENT_REQUESTS = 16
Ovo je ilustrativna raspodjela, a ne preporučena vrijednost za svakog pružatelja usluga. Scrapy definira CONCURRENT_REQUESTS kao najveći broj istovremenih zahtjeva preuzimača. Kontrole po domeni mogu dodatno smanjiti paralelnost; ne zamjenjuju globalni gornji limit.
Uključite i druge crawlere u izračun. Dva nezavisna crawlara, svaki sa dopuštenih 16 zahtjeva, mogu zajedno premašiti zajedničku dozvolu od 20. Namjerno podijelite budžet ili uspostavite zajedničko ograničenje tamo gdje se ti klijenti spajaju.
Utvrdite i što pružatelj broji. HTTP zahtjevi, otvorene TCP veze, aktivni tuneli i zahtjevi u sekundi različite su veličine. Trajne veze i multipleksiranje mogu razdvojiti njihove brojeve. Zato postavka paralelnosti zahtjeva nije potpuni ograničavač veza ni brzine.
Držite tempo ciljnog sajta kao zasebno ograničenje. Manja paralelnost ili kašnjenje preuzimanja i dalje može biti prikladno za pojedinačnu destinaciju čak i kada proksijski račun ima neiskorišten kapacitet.