Hi, we see a clear correlation between GC and latency spike in our Go server. The server uses fairly large amount of memory (20G) and does mostly CPU work. The server runs on a beefy box with 32 cores and the load is pretty light (average CPU 20-30%). GC kicks in once every 10-20 seconds and whenever it runs we observe pretty big latency spike ranging from 30% to 100% across p50-p90 percentiles (e.g. p90 can jump from 100-120ms to 160-250ms)
I captured a trace of a gc and noticed the following: 1. user gorountines seem run longer during gc. This is through ad-hoc check. I don't really know how to get stats to confirm this. The gc log is as following (tiny pauses but is very aggressive in assist and idle time) gc 347 @6564.164s 0%: 0.89+518+1.0 ms clock, 28+3839/4091/3959+33 ms cpu, 23813->23979->12265 MB, 24423 MB goal, 32 P 2. during gc, goroutines can queue up. In this particular case there is a stretch of time (~20ms) where we see many goroutines are GCWaiting. See below -- the second row is goroutines with light grey indicating GCWaiting count and light green Runnable. <https://lh3.googleusercontent.com/-5NWj8HzrzyI/WS5Hg0c6WiI/AAAAAAAAqL8/_P-S9vXuGU0FVZV1tG_dHX-14tDHhTsnwCLcB/s1600/Screen%2BShot%2B2017-05-30%2Bat%2B9.32.27%2BPM.png> <https://lh3.googleusercontent.com/-EdVRp4FjhPw/WS5MjjiwdrI/AAAAAAAAqMM/vE5Srmu9e9A5MV0d50NpDiqFsFrkn-E-QCLcB/s1600/Screen%2BShot%2B2017-05-30%2Bat%2B9.54.06%2BPM.png> Any idea what's going on here? What can I do to reduce the spikes? -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.