go高性能tcp服务器,GO 记一次TcpServer性能优化

本文记录了一次Go语言实现的TCP服务器性能优化过程。在压力测试中,服务器面临性能问题,CPU使用率高达200%。通过引入pprof工具进行性能分析,发现并优化了耗时最长的代码段——`Depack`函数,减少了内存操作的时间。最终通过调整和优化,提升了服务器性能。
摘要由CSDN通过智能技术生成

库存文章发布

写了一个TcpServer,主要功能是做终端的保活信息,保活信息中包含一些额外数据。并转发来自后端的命令至终端。

历经数日,各项基础功能完备,准备做一些压力测试。

服务器配置:

cpu family : 6

model : 63

model name : Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz

stepping : 2

microcode : 0x38

cpu MHz : 1523.625

cache size : 15360 KB

内存:16G

当然,了为压力测试,独立写了客户端测试程序,客户端也简单,实现连接和心跳(10秒一次)。

第一次测试,客户端数据过千就出错了,很明显,limit需要配置一下喽。 limit这个配置,说难不难,但每次记不住。

第二次测试,客户端20k,貌似没问题,只是CPU使用率达到200%多,领导不同意,性能堪忧,并对go产生质疑,如此性能,怎么称霸宇宙!! 改去吧。

开始一次性能优化之旅:

1,首先,我们看到了性能问题,但我们不知道哪里有问题。于是需要工具帮我们调查,哪里慢了。这里pprof 工具出场性能试工具

虽然我的程序并不提供http服务,但我依然选择了http的方式,输出debug,因为我觉得这样方便

main.go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值