golang 常用的两个设置
golang相关
golang的环境变量配置会影响服务性能
GOGC
是一个百分比值,表示内存占用达到上次gc时的多少比例,才进行一次GC,默认值100,即内存使用翻倍时会触发gc。golang的gc需要执行stw阶段,期间会阻塞所有的工作线程。如果服务存在频繁大量的内存申请操作,则可能触发GC的频率会比较高。这块可以通过pprof查看,如果gc开头的函数占比较高,则表示cpu花了很多时间处理gc,这时可以适当调高GOGC的值,减少gc的次数以达到性能的提升。另外需要注意,不要调的过大导致OOM。
GOMAXPROCS
go应用程序会启动的工作线程数量,默认与CPU核数相等,根据一般经验,工作线程数量设置为CPU核数二倍会得到一个较好的性能。
最后更新于 2020-03-03 10:19:06 并被添加「」标签,已有 3213 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处