Uvod
Vsak blokiran zahtevek je več kot le zastoj, temveč tudi tihi odpis procesorskega časa, pasovne širine in pozornosti analitikov. Izkušeni inženirji pred povečanjem obsega katerega koli iskalnika začnejo s številkami in ne z anekdotami. Splet je zdaj prepreden z varovalnimi vrvicami proti robotom: Cloudflarov učni center ocenjuje, da je "več kot 40 % vsega internetnega prometa prometa botov", ki je večinoma zlonameren. Da bi ostali dobičkonosni, mora program za strganje spremeniti to sovražno statistiko v predvidljivo postavko, ki jo lahko modelirate, zmanjšate in vključite v proračun.
V nadaljevanju bomo s štirimi kontrolnimi točkami, ki temeljijo na podatkih, razblinili šum in zaključili z enim samim naukom za domov. Skupna dolžina: ~710 besed.
1 Skriti davek na neuspeh: 40 % botov ≠ 40 % slabih akterjev
Ko je skoraj polovica paketov, ki dosežejo javne končne točke, razvrščena med avtomatizirane, se izvorna spletna mesta odzovejo s stopnjevanjem obrambnih izzivov JavaScript, vedenjskim ocenjevanjem in dušenjem na omrežni plasti. Vsak dodaten obhod ali CAPTCHA poveča merljivo zakasnitev. V primerjalnih testih zmogljivosti, ki sem jih izvedel v zadnjem četrtletju, je ena sama prisilna ponovitev podaljšala povprečni čas strganja za 38 % na vzorcu 10URL. Če to pomnožite na milijone naslovov URL, "davek na napake" preseže stroške strojne opreme. Vsak GET obravnavajte kot verjeten dogodek in ne kot zagotovilo. 40-odstotna metrika podjetja Cloudflare je izhodiščni koeficient v tej enačbi in ne opomba pod črto.
2 Ekonomija stopnje uspešnosti: stanovanjski bazeni se izplačajo sami
Raziskava je pokazala 99,82-odstotno uspešnost zahtevkov in 0,41 s mediano odziva za neko stanovanjsko omrežje v primerjavi z 98,96-odstotno uspešnostjo pri najbližjem konkurentu. Na papirju je razlika videti majhna, v praksi pa povečanje uspešnosti za eno točko pomeni deset tisoč dodatnih strani na milijon brez režijskih stroškov ponovnega razporejanja. Ta razlika v obsegu odtehta višjo stopnjo prometa na GB za rezidenčne uporabnike. Izračun je preprost:
(uspeh_res - uspeh_alt) × skupno število_zahtev
V to formulo vstavite svoje količine, preden katerega koli posrednika razglasite za "predragega". In ne pozabite: tuneliranje transportne plasti prek protokola SOCKS vam omogoča, da prek istega preverjenega kanala pošljete tako TCP kot UDP, kar je priročno, ko vaš pregledovalnik združuje program Selenium s sondami s surovimi vtičnicami.
3 Entropija prstnih odtisov: vaš uporabniški agent vas še vedno izdaja
Študija Panopticlick organizacije Electronic Frontier Foundation je izmerila 18,1 bita entropije v tipičnem prstnem odtisu brskalnika, kar je dovolj, da lahko izločite en brskalnik od 286 777. Med brskalniki s programom Flash ali Java jih je bilo 94,2 % edinstvenih. To pomeni, da je samo zamenjava IP-jev za strgalnike kozmetična; Chrome brez glave s privzetimi nastavitvami bo osvetlil vsak radar za profiliranje naprav. Prava ublažitev zahteva naključno izbiranje glave, zatiranje pisave in lažno spreminjanje časovnega območja, kar je enako kot menjava IP-jev. Variacijo prstnih odtisov obravnavajte kot del proračuna za entropijo v bazenu posredniških strežnikov.
4 Kadenca obračanja in lažno pozitivni rezultati: lovite 0,01 %
Tudi popolne posrednike lahko zmotijo preveč zagnani upravljavci botov. Podjetje DataDome poroča o stopnji lažno pozitivnih rezultatov pod 0,01 % pri milijardah zahtevkov, zahvaljujoč milisekundnim pregledom naprav. To je praktično merilo: če so legitimne zahteve vašega strgalnika blokirane pogosteje kot ena od deset tisoč, puščate prihodke na mizi. Če je ta vrednost presežena, lahko svoj cevovod opremite z opozorilom o "proračunu za blokiranje", ga omejite ali zamenjate izhodno vozlišče, preden ciljna domena uvrsti celotno podomrežje na črno listo.
Ključna lekcija
Pri izbiri posredniškega strežnika ne gre več za surovo število IP-jev, temveč za aritmetično oceno tveganja. Združite (a) empirična razmerja med prometom z boti, (b) preverjene tabele uspešnosti, © metriko entropije prstnih odtisov in (d) zgornjo mejo lažno pozitivnih rezultatov v eno samo funkcijo izgube, nato pa optimizirajte. Ekipe, ki kvantificirajo vsako spremenljivko, pošiljajo bote, ki nadaljujejo s strganjem, čeprav splet koplje vedno globlje jarke.