思考(八十三):gRPC-go、net.Conn、syscall.Syscall与性能优化

性能

最近对程序做性能优化,发现syscall.Syscall的占比前 Top2

syscall.Syscall出发,经过一系列分析优化,程序性能提升了 3 倍

下面来还原下整个过程

syscall.Syscall

通过go tool pprof工具分析,查看 Top5
思考(八十三):gRPC-go、net.Conn、syscall.Syscall与性能优化_第1张图片
Top1 是 runtime.futex ,互斥量消耗
Top2 是 syscall.Sycall,系统调用,会引起协程切换(这里直接导致线程切换)。协程切换也会引起互斥量消耗。因此优先排查syscall.Sycall

利用go tool pprof生成 pdf 文件,得到syscall.Syscall均来源于 gRPC。见下图:

你可能感兴趣的:(Go游戏服务器开发的一些思考,源代码分析,gRPC-go,syscall,源代码分析,性能优化,网络通信)