Oletuksena Scrapy jakaa latausaikavälit pyynnön URL-osoitteen verkkotunnuksen mukaan. HTTP-välityspalvelimen antaminen pyynnölle ei muuta tätä URL-osoitetta välityspalvelimen isäntänimeksi. Siksi eri sivustoille tehtävät pyynnöt voivat säilyttää eri aikavälit ja samalla jakaa yhden välittäjän.

AutoThrottle säätää kunkin aikavälin viivettä havaitun latausviiveen perusteella. Vakio verkkotunnuskohtainen rinnakkaisuusraja ja pienin latausviive ovat edelleen voimassa.

Tarkista ryhmittely ennen algoritmin muuttamista

Mukautettu middleware voi määrittää request.meta["download_slot"], ohittaen tavallisen aikavälin valinnan. Jotkin välityspalvelinlaajennukset käyttävät omaa ryhmittelyään. Tarkista nämä asetukset, jos toisiinsa liittymättömät sivustot näyttävät jakavan yhden rajoittimen.

Päinvastoin, eri aikavälin antaminen jokaiselle välityspalvelimelle voi sallia useiden välityspalvelimien ottaa yhteyttä samaan kohteeseen samanaikaisesti. Tämä voi kumota sivustonlaajuisen rajan, jota crawlerin oli tarkoitus noudattaa. Valitse aikavälin avain suojattavan resurssin mukaan.

Viive sisältää käyttämäsi polun

Scrapy mittaa viiveen pyynnön lähettämisestä HTTP-otsakkeiden vastaanottamiseen. Välityspalvelimen kautta kulkeva pyyntö voi sisällyttää tähän havaintoon välittäjän jonotus- ja edelleenlähetysviiveen. AutoThrottle ei saa erillistä vain alkuperän käsittelyaikaa.

Rinnakkaisuuden lisääminen ei voi saada mittausta eristämään sivustoa. Pidä kohteen kohteliaisuus ja välityspalvelimen kapasiteetti erillisinä rajoina, kun molemmat ovat tärkeitä. Jaettu välityspalvelin voi tarvita lisää rinnakkaisuusbudjettia kohdeaikavälien yli, kun taas jokainen kohde säilyttää oman nopeuskäytäntönsä.

Aiheeseen liittyvät artikkelit