Pāriet uz saturu
AutoValue
2026. gada 28. augusts · Data Quality

Vasara, kad salūza mūsu sludinājumu skaits: dienasgrāmata no rāpuļprogrammas iekšpuses

AutoValue Editorial
Vasara, kad salūza mūsu sludinājumu skaits: dienasgrāmata no rāpuļprogrammas iekšpuses

Lielāko daļu dienu man ir atvērta cilne, kurā vienkārši redzams avotu skaits. Nekā izsmalcināta — ne diagrammu, ne filtru, tikai skaitlis blakus katrai no 1 375 vietnēm, no kurām mēs vācam sludinājumus, un laika zīmogs, kad katra no tām pēdējo reizi atsaukusies. Vairumā dienu tas ir garlaicīgi tā, kā infrastruktūrai un vajadzētu būt garlaicīgai. Šovasar tā nebija, un domāju, ka stāsts par to, kas gāja greizi, jums — kā cilvēkam, kas meklē automašīnu — ir noderīgāks nekā lielākā daļa padomu "kā pirkt lietotu automašīnu", ko mēs varētu rakstīt tā vietā. Šis stāsts ir par to, ko "dzīvi dati" patiesībā nozīmē, ja tos baro 1 375 atsevišķas tīmekļa vietnes, kurām jums nekā nav parādā.

Jūlija vidus: skaitlis, ar kuru lepojos

Jūlija vidū mēs bijām paplašinājuši avotu reģistru līdz 1 190 avotiem 73 reģionos — rezultāts pēc dažām nedēļām, kas pavadītas, saskaņojot dublētus ierakstus un mirušas saites, kas klusībā bija uzpūtušas mūsu pašu skaitli. Atceros, ka domāju — 1 190 reāli, atsaucīgi avoti ir kaut kas, ar ko lepoties. Tas ir daudz atsevišķu dīleru vietņu, sludinājumu portālu un izsoļu plūsmu, katrai ar savu HTML struktūru, saviem pieprasījumu ierobežojumiem, savu viedokli par to, vai rāpuļprogramma ir klients vai uzbrucējs.

Tad sāka nest augļus apturēto avotu kampaņa, ko bijām vadījuši — ejot cauri 683 avotu gaidīšanas sarakstam, kas mēnešiem ilgi bija atlikts, daži bloķēti, daži vienkārši nekad nebija uzbūvēti. Jūlija otrajā pusē no tiem tika izveidoti un pieslēgti 274. Mēneša beigās strādājošo avotu skaits bija pieaudzis līdz 1 464. Tāda nedēļa, kuru gribas notvert ekrānuzņēmumā.

Augusta sākums: 241 avots — pazuduši

Tad pienāca skaitlis, kas sagrauj nedēļu: naktī 241 avots nogrima degradētā stāvoklī. Ne mūsu vainas dēļ — mūsu starpniekserveru pakalpojuma sniedzēja konts bija beidzies rēķinu apmaksas dēļ, un milzīga daļa mūsu trafika iet caur rotējošām IP adresēm tieši tāpēc, lai mūs nebloķētu vietnes, kas ierobežo rāpuļprogrammu pieprasījumus. Bez starpniekserveriem — bez svaigām lapām, bez svaigiem sludinājumiem. Avoti nepaziņo, ka ir salūzuši; tie vienkārši klusi pārstāj atgriezt jaunus datus, kamēr vecie sludinājumi turpina izskatīties aktuāli.

Tā ir daļa, kas neparādās nevienas automašīnu vietnes sludinājumu skaitā, arī mūsējā, ja vien to speciāli nemeklē: "dzīvs" tirgus var saturēt novecojušas rindas blakus svaigām, un no ārpuses tās izskatās identiskas. Mēs jaunas apstaigāšanas uzdevumus piesaistījām reālai starpniekserveru veselības pārbaudei, lai miris pūls klusībā nepasliktinātu kvalitāti vēl vairāk, un apturējām tās grafika daļas, kas situāciju būtu tikai pasliktinājušas. Tas nav glamūrs darbs. Tas ir tāda veida darbs, par kuru, ja par to nekad nedzirdi, tas nozīmē, ka kāds savu darbu ir izdarījis labi.

Piebilde, jo to vērts pateikt tieši: jebkura vietne, kas apgalvo, ka tai katru dienu ir fiksēts, apaļš sludinājumu skaits, vai nu patiesībā nav dzīva, vai arī nestāsta jums par tādām nedēļām kā šī.

Sastingums

Starpniekserveru abonementa atjaunošana atrisināja lielāko daļu problēmas. Ko negaidīju, bija pati rāpuļprogramma, kas dažas nedēļas vēlāk sastinga — deadlock demontāžas procesā, astoņpadsmit no deviņpadsmit darba pavedieniem karājās futex_wait stāvoklī, nulle CPU slodzes, un tā 75 stundas pēc kārtas. Ne avārijas, ne kļūdu žurnāla, kas kādam kliegtu trauksmi. Vienkārši... nekas nenotika, kamēr informācijas panelis turpināja rādīt pēdējo veiksmīgo ciklu tā, it kā tas būtu aktuāls. Uz šī konkrētā servera vēl nebijām uzstādījuši sargsuni (watchdog) — tāda veida teikums, ko uzraksti tikai pēc tam, kad apraksītais jau vienreiz ar tevi ir noticis.

Mēs uzbūvējām sargsuni. Apturējām grafiku, kamēr netika apstiprināts, ka starpniekserveru atjaunošana ir stabila, nevis riskējām, ka daļēji degradēta apstaigāšana klusībā aizvieto labas rindas ar sliktām — apstaigātam avotam sludinājumi tiek aizvietoti, nevis apvienoti, tāpēc slikts cikls ne tikai nepapildina datus, bet var aktīvi izdzēst labas rindas un to vietā ielikt sliktākas. Šī asimetrija ir iemesls, kāpēc mēs labāk dienu palaižam ar novecojušiem datiem, nevis ar degradētiem.

Kur skaitlis nonāca

Lūk, šodienas skaitlis un sešu nedēļu forma, kas mūs līdz šim noveda:

Mēs nonācām pie 1 375 avotiem 73 reģionos, kas baro 1 108 535 dzīvus sludinājumus, no kuriem 12 823 pašlaik atzīmēti kā cenoti zem sava reģionālā kohorta līmeņa. Tas ir aptuveni par 90 avotiem mazāk nekā jūlija maksimumā — daži no 241 degradētajiem nekad pilnībā neatgriezās, daži bija vietnes, kas pa to laiku mainījušas savu nostāju pret robotu bloķēšanu un tagad prasa pārbūvi, nevis vienkārši pārslēgšanos. Ar dažiem no tiem mēs joprojām strādājam.

Ko tas patiesībā jums nozīmē

Nekas no tā nemaina, kuru automašīnu jums vajadzētu pirkt. Bet tam vajadzētu mainīt to, kā jūs lasāt jebkuru "dzīvā inventāra" skaitli jebkurā automašīnu vietnē, ne tikai mūsējā. Francija pašlaik ir mūsu reģionālā skaita virsotnē ar 67 569 sludinājumiem, Japāna tuvu aiz muguras ar 61 940, un šie skaitļi mainās — ne tāpēc, ka pats lietoto automašīnu tirgus svārstītos tik ātri, bet tāpēc, ka svārstās infrastruktūra, kas to novēro. Sludinājums, kas ir trīs dienas novecojis tāpēc, ka avots bija degradēts, izskatās tieši tāpat kā svaigs, ja vien platforma nav godīga par šo atšķirību.

Mēs labāk pastāstīsim jums par 75 stundu sastingumu, nekā izliksimies, ka mūsu skaitlis nekad nesvārstās. Datu kopa, kas nekad neatzīst sliktu nedēļu, ir datu kopa, par kuru jums vajadzētu būt aizdomīgākiem, nevis mazāk aizdomīgiem.

Data QualityWEB ScrapingMethodologyTransparencyMarket Data
Kopīgot

Saistītie raksti