Sobes.tech
Middle+

Πες μου για την πιο δύσκολη τεχνική εργασία που αντιμετώπισες κατά τη διάρκεια της εργασίας σου στο έργο.

sobes.tech AI

Απάντηση από AI

Μία από τις πιο δύσκολες εργασίες ήταν η βελτιστοποίηση μιας υπηρεσίας υψηλού φόρτου, η οποία επεξεργαζόταν εκατομμύρια αιτήματα ανά δευτερόλεπτο. Το πρόβλημα ήταν ότι, λόγω συχνών μπλοκαρισμάτων και ανταγωνισμού για πόρους, προέκυπταν καθυστερήσεις και η διαπεραστικότητα μειωνόταν.

Για την επίλυση, ήταν απαραίτητο:

  • Να πραγματοποιηθεί προφίλ CPU και μνήμης με pprof.
  • Να εντοπιστούν τα σημεία συμφόρησης στον συγχρονισμό, να αντικατασταθούν τα mutex με πιο αποδοτικές δομές, όπως οι ατομικές λειτουργίες.
  • Να ξαναγραφούν τα κρίσιμα τμήματα του κώδικα, ελαχιστοποιώντας τα μπλοκαρίσματα.
  • Να χρησιμοποιηθεί μια ομάδα goroutine για τον έλεγχο του αριθμού των ταυτόχρονα εκτελούμενων εργασιών.

Τελικά, καταφέραμε να μειώσουμε σημαντικά τις καθυστερήσεις και να αυξήσουμε τη σταθερότητα της υπηρεσίας, κάτι που είχε θετική επίδραση στην εμπειρία του χρήστη.