Liigu sisu juurde
AutoValue
28. august 2026 · Data Quality

Suvi, mil meie kuulutuste arv purunes: päevik roomaja seest

AutoValue Editorial
Suvi, mil meie kuulutuste arv purunes: päevik roomaja seest

Enamikul päevadel hoian avatuna vahekaarti, kus kuvatakse lihtsalt allikate arvud. Mitte mingit ilu — ei diagramme ega filtreid, ainult number iga 1375 saidi kõrval, kust me kuulutusi kogume, ja ajatempel, millal iga neist viimati end teatavaks tegi. Enamasti on see igav samamoodi, nagu infrastruktuur peabki igav olema. Sel suvel see nii ei olnud, ja ma arvan, et lugu sellest, mis valesti läks, on teile kui auto ostjale kasulikum kui enamik "kuidas kasutatud autot osta" nõuandeid, mida me selle asemel võiksime kirjutada. See räägib sellest, mida "reaalajas andmed" tegelikult tähendavad, kui neid toidab 1375 eraldi veebisaiti, kellel pole teie ees mingit kohustust.

Juuli keskpaik: number, mille üle olin uhke

Juuli keskpaigaks olime viinud allikate registri 1190 allikani 73 piirkonnas — tulemus mitmenädalasest tööst, mille käigus tuvastasime dubleerivaid kirjeid ja surnud linke, mis olid vaikselt meie enda arvu paisutanud. Mäletan, kuidas mõtlesin, et 1190 tõelist, end teatavaks teinud allikat on midagi, mille üle uhke olla. See on hulk üksikuid edasimüüjate saite, kuulutuseportaale ja oksjoniallikaid, millest igaühel on oma HTML-struktuur, omad piirmäärad ja oma arvamus selle kohta, kas roomaja on klient või rünnak.

Seejärel hakkas vilja kandma mahajäämuse likvideerimise kampaania, mille käigus töötasime läbi 683 allikast koosnevat ootenimekirja, mis oli kuid seisnud edasilükatuna — mõned blokeeritud, mõned lihtsalt kunagi ehitamata. Juuli teisel poolel ehitati ja ühendati neist 274. Kuu lõpuks oli töötavate allikate arv tõusnud 1464-ni. Selline nädal, millest teed ekraanipildi.

August algus: 241 allikat, kadunud

Siis tuli number, mis rikub sinu nädala: üleöö langes 241 allikat halvenenud olekusse. Mitte millegi tõttu, mida meie tegime — meie puhverserveripakkuja konto oli arve tasumata jätmise tõttu peatunud, ja suur osa meie liiklusest liigub läbi roteeruvate IP-aadresside just selleks, et vältida blokeerimist saitide poolt, mis piiravad roomajate päringute sagedust. Ilma puhverserveriteta ei saanud me värskeid lehti ega värskeid kuulutusi. Allikad ei teata, et nad on katki — nad lihtsalt lakkavad vaikselt uusi andmeid tagastamast, samal ajal kui nende vanad kuulutused jäävad sinna ning näivad ikka värsked.

See on osa, mis ei paista ühegi autosaidi kuulutuste arvus, ka meie omal mitte, kui sa seda just spetsiaalselt ei otsi: "reaalajas" turuplatsil võivad aegunud read seista värskete kõrval ja näida väljastpoolt täiesti identsed. Me sidusime uute roomamiskäskude käivitamise tegeliku puhverserverite tervisekontrolliga, et surnud pool ei saaks kvaliteeti vaikselt veelgi halvendada, ning peatasime ajakava osad, mis oleksid olukorda hullemaks teinud. See ei ole hiilgav töö. See on selline töö, millest kui sa kunagi midagi ei kuule, tähendab see, et keegi tegi oma tööd hästi.

Kõrvalmärkusena, sest seda tasub otse öelda: iga sait, mis väidab igal üksikul päeval sama ümmargust kuulutuste arvu, kas ei ole tegelikult reaalajas või ei räägi sulle selliste nädalate kohta nagu see.

Jäätumine

Puhverserverite lepingu uuendamine lahendas enamiku probleemist. Mida ma ei osanud oodata, oli see, et roomaja ise jäi mõni nädal hiljem lukku — lammutus-ummikseis (teardown deadlock), kus üheksateistkümnest töölõimest kaheksateist istusid futex_wait olekus, kulutades null protsessorikoormust, 75 tundi järjest. Ei mingit krahhi, mitte ühtki veateadet, mis kellelegi karjuks. Lihtsalt... midagi ei toimunud, samal ajal kui armatuurlaud näitas jätkuvalt viimast õnnestunud käiku, nagu oleks see värske. Me polnud sellele konkreetsele masinale veel valvekoera (watchdog) paigaldanud — selline lause, mida sa kirjutad ainult pärast seda, kui kirjeldatav asi on sinuga juba korra juhtunud.

Me ehitasime valvekoera. Peatasime ajakava, kuni puhverserverite uuendus oli kinnitatult stabiilne, selle asemel et riskida sellega, et poolikult halvenenud roomamiskäik vaikselt asendaks head read halbadega — roomatud allika kuulutused asendatakse, mitte ei liideta, seega halb käik mitte ainult ei jäta andmeid lisamata, vaid võib aktiivselt kustutada häid ridu ja panna nende asemele halvemaid. See asümmeetria on põhjus, miks me eelistame pigem ühe päeva jooksul aegunud andmeid näidata kui halvenenud andmetega töötada.

Kuhu number jõudis

Siin on tänane arv ja kuue nädala kulg, mis meid siia tõi:

Jõudsime 1375 allikani 73 piirkonnas, mis toidavad 1 108 535 reaalajas kuulutust, millest 12 823 on praegu märgitud oma piirkondliku rühma keskmisest odavamaks hinnastatuks. See on umbes 90 allikat vähem kui juuli tipphetkel — osa 241-st halvenenud allikast ei taastunud kunagi täielikult, mõned olid saidid, mis olid vahepeal muutnud oma robotitõrjestrateegiat ja vajasid uuesti ülesehitamist, mitte lihtsalt taasühendamist. Töötame endiselt mõne nendega.

Mida see sulle tegelikult tähendab

Miski sellest ei muuda, millist autot sa peaksid ostma. Kuid see peaks muutma seda, kuidas sa loed iga "reaalajas laoseisu" numbrit mis tahes autosaidil, mitte ainult meie omal. Prantsusmaa on praegu meie piirkondlikus arvestuses esikohal 67 569 kuulutusega, Jaapan järgneb 61 940-ga, ja need arvud liiguvad — mitte sellepärast, et kasutatud autode turg ise nii kiiresti kõiguks, vaid sellepärast, et seda jälgiv infrastruktuur kõigub. Kuulutus, mis on kolm päeva vana, sest allikas oli halvenenud olekus, näeb välja täpselt sama nagu värske kuulutus, kui platvorm pole selle erinevuse suhtes aus.

Eelistame rääkida sulle 75-tunnisest jäätumisest, kui teeselda, et meie number kunagi ei kõigu. Andmestik, mis kunagi ei tunnista halba nädalat, on andmestik, mille suhtes peaksid olema pigem rohkem kahtlustav, mitte vähem.

Data QualityWEB ScrapingMethodologyTransparencyMarket Data
Jaga

Seotud artiklid