Jos jokainen kohde käyttää yhtä välityspalvelintiliä, kyseisen tilin samanaikaisten pyyntöjen kiintiö voi kulua kaikkien näiden kohteiden kesken. Pelkkä verkkotunnuskohtainen raja ei ilmaise tätä yhteistä budjettia.

Kuvitteelliselle tilille, joka sallii enintään 20 samanaikaista pyyntöä, jätä hieman varaa ja aseta ryömijän yleinen lataajaraja:

CONCURRENT_REQUESTS = 16

Tämä on havainnollistava jako, ei suositeltu arvo kaikille palveluntarjoajille. Scrapy määrittelee CONCURRENT_REQUESTS-arvon lataajan suurimmaksi samanaikaisten pyyntöjen määräksi. Verkkotunnuskohtaiset rajoitukset voivat vähentää rinnakkaisuutta edelleen, mutta ne eivät korvaa yleistä ylärajaa.

Ota laskelmaan mukaan myös muut ryömijät. Kaksi itsenäistä ryömijää, joille kummallekin sallitaan 16 pyyntöä, voivat yhdessä ylittää jaetun 20 pyynnön kiintiön. Jaa budjetti tarkoituksella tai aseta yhteinen raja kohtaan, jossa nämä asiakkaat kohtaavat.

Selvitä myös, mitä palveluntarjoaja laskee. HTTP-pyynnöt, avoimet TCP-yhteydet, aktiiviset tunnelit ja pyynnöt sekunnissa ovat eri suureita. Pysyvät yhteydet ja multipleksointi voivat eriyttää niiden määriä. Pyyntöjen rinnakkaisuusasetus ei siis ole täydellinen yhteyksien tai nopeuden rajoitin.

Pidä kohdesivuston tahti erillisenä rajoitteena. Pienempi rinnakkaisuus tai latausviive voi olla edelleen sopiva yksittäiselle kohteelle, vaikka välityspalvelintilillä olisi käyttämätöntä kapasiteettia.

Aiheeseen liittyvät artikkelit