Sobes.tech
Middle+

Opowiedz o najtrudniejszym zadaniu technicznym, z którym się zmierzyłeś podczas pracy nad projektem.

sobes.tech AI

Odpowiedź od AI

Jednym z najtrudniejszych zadań było zoptymalizowanie serwisu o dużym obciążeniu, który obsługiwał miliony zapytań na sekundę. Problem polegał na tym, że z powodu częstych blokad i konkurencji o zasoby pojawiały się opóźnienia, a przepustowość spadała.

Aby to rozwiązać, konieczne było:

  • Profilowanie CPU i pamięci za pomocą pprof.
  • Zidentyfikowanie wąskich gardeł w synchronizacji, zastąpienie mutexów bardziej wydajnymi strukturami, np. operacjami atomowymi.
  • Przepisanie krytycznych fragmentów kodu, minimalizując blokady.
  • Użycie puli goroutine do kontrolowania liczby jednocześnie działających zadań.

Ostatecznie udało się znacznie zmniejszyć opóźnienia i poprawić stabilność serwisu, co pozytywnie wpłynęło na doświadczenie użytkownika.