Ghiduri
Cum să accelerezi GitHub Actions
Conducta dvs. durează mai mult decât vrea oricine să aștepte și nu este evident unde trece timpul.
8 min de citit
Conducta dvs. durează mai mult decât vrea oricine să aștepte și nu este evident unde trece timpul.
Simptome
- Dezvoltatorii schimbă contextul în timp ce așteaptă
- Durata conductei crește în fiecare trimestru
- Nimeni nu poate spune care pas este cel mai lent
De ce se întâmplă
Durata ceasului de perete este împărțită între timpul de coadă, pornirea runnerului, restaurarea cache-ului, instalarea dependenței și construcția în sine. Echipele îl optimizează de obicei pe ultimul pentru că este singurul pe care îl pot vedea.
Cum să o rezolvi
- Măsurați mai întâi: împărțiți timpul de coadă, configurarea, restabilirea memoriei cache și timpul de pas înainte de a schimba ceva
- Activați anularea concurenței, astfel încât impulsurile înlocuite să nu mai consume capacitatea
- Remediați rata de accesare a memoriei cache înainte de a cumpăra alergători mai mari - de obicei este pârghia mai mare
- Alergători de dimensiunea potrivită față de utilizarea măsurată a CPU, în sus și în jos
- Paralelizează calea critică: shard suite de testare lungi, împărțire scame în propria sa sarcină
- Treceți la runners cu NVMe local dacă așteptarea I/O este mare
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.
Similar
Cum să găsiți pasul lent într-un flux de lucruConducta este lentă, dar fiecare pas individual pare rezonabil.Cum să reduceți GitHub Actions pornirile la receLucrările stau timp de 30 până la 90 de secunde înainte de a rula primul pas.Cum să diagnosticați GitHub Actions timpii de coadăLucrările sunt puse la coadă câteva minute înainte ca un alergător să le ridice.Cum să faci git checkout mai rapidacțiunile/checkout durează minute într-un depozit mare.