inginerie
Ce am învățat gestionând un milion de locuri de muncă CI
Timpul în coadă, comportamentul în cache, dimensionarea corectă și modurile de eșec care apar doar la scară.
{autor} · {rol} · {data} · {minute} {minuteLabel}
Un milion de locuri de muncă este suficient pentru a vedea coada lungă. Iată ce ne-a surprins.
Timpul la coadă este invizibil și enorm
Duratele pașilor sunt afișate vizibil. Ora la coadă nu este afișată deloc. Am găsit depozite în care timpul mediu de coadă a depășit timpul mediu de construire, iar echipa a petrecut un sfert optimizând construcția.
Majoritatea alergătorilor au dimensiunea greșită în ambele direcții
Aproximativ 40% dintre locuri de muncă au fost în medie sub 30% de utilizare a procesorului - plătind pentru nucleele inactive. Alți 12% au fost fixați la 100% pe toată durata lor și au stat pe calea critică. Dimensionarea corectă în ambele direcții a valorat mai mult decât orice modificare a memoriei cache pentru majoritatea clienților.
I/O wait este ucigașul tăcut
npm scrierea a 40.000 de fișiere, lăzi de despachetare a încărcăturii, extragerea de straturi Docker — nimic nu este lucru cu CPU. Pe stocarea atașată la rețea, acești pași domină și fiecare grafic al procesorului arată bine în timp ce o fac.
Testele flaky costă mai mult decât orice model
Costul direct al unei reluări este evident. Costul indirect – inginerii reîncercă eșecuri reale, deoarece reîncercarea este un obicei – este mult mai mare și nu apare pe nicio factură.
Traficul agenților a schimbat forma încărcăturii
Arhivele cu agenți de codare AI arată o frecvență de împingere de câteva ori mai mare decât depozitele numai pentru oameni, în rafale. Anularea simultană a trecut de la o optimizare plăcută la o cerință grea pentru aceste echipe.
Următorul tău build poate fi de două ori mai rapid, la jumătate de preț
Începe gratuit. Plecarea înseamnă aceeași linie, iar acel diff îl publicăm și noi.