Scrapy AutoThrottle caur starpniekserveri: sloti un latentums
Turiet mērķa vietnes lejupielādes slotus atsevišķi no starpniekservera maršrutiem un interpretējiet latentumu kā novēroto pieprasījuma ceļu.
Pēc noklusējuma Scrapy piešķir lejupielādes slotus pēc pieprasījuma URL domēna. HTTP starpniekservera piešķiršana pieprasījumam nemaina šo URL par starpniekservera resursdatora nosaukumu. Tāpēc pieprasījumi uz dažādām vietnēm var saglabāt dažādus slotus, vienlaikus dalot vienu starpnieku.
AutoThrottle pielāgo katra slota aizkavi, izmantojot novēroto lejupielādes latentumu. Standarta vienlaicības ierobežojums domēnam un minimālā lejupielādes aizkave joprojām ir spēkā.
Pirms algoritma maiņas pārbaudiet grupēšanu
Pielāgota starpprogrammatūra var piešķirt request.meta["download_slot"], tādējādi ignorējot parasto slota izvēli. Daži starpniekservera paplašinājumi izmanto savu grupēšanu. Pārbaudiet šos iestatījumus, ja šķiet, ka nesaistītas vietnes dala vienu ierobežotāju.
Pretēji, atšķirīga slota piešķiršana katram starpniekserverim var ļaut vairākiem starpniekiem vienlaikus sazināties ar vienu mērķi. Tas var apdraudēt visai vietnei noteikto ierobežojumu, kuru pārmeklētājam bija jāievēro. Izvēlieties slota atslēgu atbilstoši aizsargātajam resursam.
Aizkave ietver izmantoto ceļu
Scrapy mēra latentumu no pieprasījuma nosūtīšanas līdz HTTP galveņu saņemšanai. Pieprasījums, kas tiek pārsūtīts caur starpniekserveri, šajā novērojumā var ietvert starpnieka rindas un pārsūtīšanas aizkavi. AutoThrottle nesaņem atsevišķu tikai izcelsmes apstrādes laiku.
Vienlaicības palielināšana nevar panākt, lai šis mērījums izolētu vietni. Turiet mērķa pieklājību un starpniekservera jaudu kā atsevišķus ierobežojumus, kad svarīgi abi. Koplietotam starpniekserverim var būt nepieciešams papildu vienlaicības budžets mērķa slotos, kamēr katrs mērķis saglabā savu ātruma politiku.