10 commentaires
J'ai testé GOMEMLIMIT, ça aide à éviter l'OOM, mais les pauses persistent. Je cherche à réduire la fréquence des cycles.
Si tu as beaucoup d'objets courts, essaie d'utiliser des sync.Pool pour réutiliser tes buffers. Ça réduit drastiquement la pression sur le GC.
Merci pour l'exemple, je vais implémenter ça sur mes handlers HTTP. C'est une excellente piste.
N'oublie pas de checker les finalizers aussi, c'est souvent la cause cachée des fuites qui déclenchent le GC trop souvent.
Bonne idée, je n'avais pas pensé aux finalizers. Je vais auditer le code pour voir s'il y en a qui traînent.
Vérifie aussi le GODEBUG=gctrace=1 pour voir exactement ce qui se passe sous le capot pendant les pics.
Je vais monitorer avec gctrace=1 demain en staging. Merci à tous pour les conseils.
Laisser une réponse
Vous devez être connecté pour poster un message !
Hello, je constate des pics de latence réguliers sur mon microservice en Go. Après analyse avec
go tool pprof, il semble que le Garbage Collector soit trop agressif, ce qui cause des pauses STW (Stop-The-World) perceptibles sous forte charge.J'ai essayé de modifier
GOGC, mais les résultats sont mitigés sur le heap. Quelqu'un a des retours d'expérience sur le tuning fin en production ?