Sobes.tech
Middle+

Pastāsti par visgrūtāko tehnisko uzdevumu, ar kuru sastapies darba laikā projektā.

sobes.tech AI

Atbilde no AI

Viena no vissarežģītākajām uzdevumiem bija optimizēt augsta slodzes pakalpojumu, kas apstrādāja miljoniem pieprasījumu sekundē. Problēma bija tāda, ka bieži sastopamas bloķēšanas un resursu konkurences dēļ radās aizkavēšanās un caurlaidība samazinājās.

Lai to atrisinātu, bija nepieciešams:

  • Veikt CPU un atmiņas profilēšanu ar pprof.
  • Identificēt vājās vietas sinhronizācijā, aizstāt mutex ar efektīvākām struktūrām, piemēram, atomu operācijām.
  • Pārrakstīt kritiskās koda daļas, samazinot bloķēšanu.
  • Izmantot goroutine baseinu, lai kontrolētu vienlaicīgi darbojošo uzdevumu skaitu.

Galu galā izdevās ievērojami samazināt aizkavēšanos un uzlabot pakalpojuma stabilitāti, kas pozitīvi ietekmēja lietotāja pieredzi.