Dažną dieną laikau atsidarytą skirtuką, kuriame tiesiog rodomi šaltinių skaičiai. Jokių gražybių — jokių grafikų, jokių filtrų, tik skaičius šalia kiekvienos iš 1,375 svetainių, iš kurių renkame skelbimus, ir laiko žyma, kada kiekviena iš jų paskutinį kartą atsiliepė. Dažniausiai tai nuobodu taip, kaip infrastruktūra ir turi būti nuobodi. Šią vasarą taip nebuvo, ir manau, kad istorija apie tai, kas nutiko ne taip, jums, kaip automobilio pirkėjui, naudingesnė nei dauguma patarimų „kaip pirkti naudotą automobilį", kuriuos galėtume parašyti vietoj jos. Tai istorija apie tai, ką iš tikrųjų reiškia „gyvi duomenys", kai juos maitina 1,375 atskiros svetainės, kurios jums nieko neskolingos.
Liepos vidurys: skaičius, kuriuo didžiavausi
Iki liepos vidurio buvome padidinę šaltinių registrą iki 1,190 šaltinių 73 regionuose — tai kelių savaičių darbo su dubliuotais įrašais ir negaliojančiomis nuorodomis, kurios tyliai pūtė mūsų pačių skaičių, rezultatas. Prisimenu galvojęs, kad 1,190 realių, atsiliepiančių šaltinių yra kažkas, kuo galima didžiuotis. Tai daugybė atskirų prekiautojų svetainių, skelbimų lentų ir aukcionų srautų, kiekvienas su savo HTML struktūra, savo greičio apribojimais, savo nuomone apie tai, ar scraperis yra klientas, ar ataka.
Tuomet pradėjo duoti rezultatų vėluojančių darbų kampanija, kurią jau seniai vykdėme — ėjome per 683 šaltinių laukiančiųjų sąrašą, kuris mėnesius gulėjo atidėtas: vieni buvo užblokuoti, kiti tiesiog niekada nebuvo sukurti. Per antrąją liepos pusę 274 iš jų buvo sukurti ir prijungti. Iki mėnesio pabaigos veikiančių šaltinių skaičius pasiekė 1,464. Tokia savaitė, kurią norisi įsiamžinti ekrano nuotraukoje.
Rugpjūčio pradžia: 241 šaltinis dingo
Tada – skaičius, sugadinantis savaitę: per naktį 241 šaltinis pateko į blogėjančią būseną. Ne dėl ko nors, ką mes padarėme, – mūsų proxy tiekėjo paskyra nustojo galioti dėl neapmokėtos sąskaitos, o didelė dalis mūsų srauto eina per besikeičiančius IP adresus būtent tam, kad mūsų nepablokuotų svetainės, ribojančios scraperių greitį. Be proxy – jokių naujų puslapių, jokių naujų skelbimų. Šaltiniai neskelbia, kad sugedo; jie tiesiog tyliai nustoja grąžinti naujus duomenis, o jų senesni skelbimai lieka kaboti ir atrodo tarsi aktualūs.
Tai dalis, kuri nepasirodo jokios automobilių svetainės, įskaitant ir mūsų, skelbimų skaičiuje, nebent pats to ieškotum: „gyvoje" prekyvietėje pasenę įrašai gali kaboti šalia šviežių ir iš išorės atrodyti visiškai vienodai. Naujus crawlerio paleidimus susiejome su realiu proxy sveikatos patikrinimu, kad negyvas telkinys tyliai toliau nemažintų kokybės, ir pristabdėme tuos tvarkaraščio etapus, kurie viską būtų dar labiau pabloginę. Tai nėra įspūdingas darbas. Tai tokio pobūdžio darbas, apie kurį jei niekada negirdi, reiškia, kad kažkas savo darbą atliko gerai.
Nukrypimas nuo temos, nes tai verta pasakyti tiesiai: bet kuri svetainė, kuri kasdien skelbia fiksuotą, apvalų skelbimų skaičių, arba iš tikrųjų nėra gyva, arba nutyli apie tokias savaites kaip ši.
Įšalimas
Proxy atnaujinimas išsprendė didžiąją dalį problemos. Ko nesitikėjau – kad pats crawleris po kelių savaičių užstrigs: teardown fazės aklavietė, aštuoniolika iš devyniolikos darbinių gijų kabo futex_wait būsenoje, procesorius visiškai nenaudojamas, ir taip 75 valandas iš eilės. Jokio lūžio, jokio klaidų žurnalo, kuris kam nors rėktų. Tiesiog... nieko nevyksta, o valdymo skydelis toliau rodo paskutinį sėkmingą praėjimą taip, tarsi jis būtų aktualus. Toje konkrečioje mašinoje sargo (watchdog) dar nebuvome įdiegę – tokį sakinį parašai tik po to, kai tai, ką jis apibūdina, tau jau bent kartą nutiko.
Sargą sukūrėme. Tvarkaraštį pristabdėme, kol proxy atnaujinimas buvo patvirtintas kaip stabilus, o ne rizikavome, kad iš dalies pablogėjęs apėjimas tyliai pakeis gerus įrašus blogais – nuskaityto šaltinio skelbimai yra pakeičiami, o ne sujungiami, todėl blogas apėjimas ne tik nepapildo duomenų, bet gali aktyviai ištrinti gerus įrašus ir jų vietoje palikti blogesnius. Būtent dėl šios asimetrijos verčiau dieną veiksime su pasenusiais duomenimis, nei veiksime su pablogėjusiais.
Kur skaičius nusistovėjo
Štai šiandienos skaičius ir šešių savaičių, kurios mus čia atvedė, forma:
Sustojome ties 1,375 šaltiniais 73 regionuose, kurie maitina 1,108,535 gyvus skelbimus, o 12,823 iš jų šiuo metu pažymėti kaip įkainoti žemiau savo regiono kohortos. Tai maždaug 90 šaltinių mažiau nei liepos pikas – kai kurie iš 241 pablogėjusio šaltinio taip ir nebeatsigavo iki galo, o keletas svetainių tuo tarpu pakeitė savo apsaugą nuo botų ir juos reikėjo ne tiesiog vėl prijungti, o kurti iš naujo. Su keliais iš jų dar dirbame.
Ką tai iš tikrųjų reiškia jums
Nė vienas iš šių dalykų nekeičia to, kokį automobilį turėtumėte pirkti. Tačiau tai turėtų pakeisti, kaip skaitote bet kurios automobilių svetainės, ne tik mūsų, „gyvo asortimento" skaičių. Šiuo metu pagal regionų skaičių pirmauja Prancūzija su 67,569 skelbimais, netoli paskui seka Japonija su 61,940, ir šie skaičiai kinta – ne todėl, kad pati naudotų automobilių rinka svyruoja taip greitai, o todėl, kad kinta ją stebinti infrastruktūra. Skelbimas, kuris yra trijų dienų senumo, nes šaltinis pablogėjo, atrodo lygiai taip pat kaip šviežias, nebent platforma yra sąžininga dėl šio skirtumo.
Verčiau papasakosime jums apie 75 valandų įšalimą, nei apsimesime, kad mūsų skaičius niekada nesvyruoja. Duomenų rinkiniu, kuris niekada nepripažįsta blogos savaitės, turėtumėte labiau, o ne mažiau, abejoti.



