# go lang的性能问题
本地环境与生产环境接口耗时差距过大。在3-4秒左右的差距!
### 基础架构 :
- 主体框架:
gin
- 中间件:
redis、logs、viper(配置插件)、gin-swagger
#### 例图:
> - 生产环境接口执行效率
![生产环境效率.png](https://static.studygolang.com/210801/4c0babfc85f17b6c0a5ca3477eae13d4.png)
> - 本地环境接口执行效率
![本地环境效率.png](https://static.studygolang.com/210801/f8a045306e21a53e0a627e51e7a23c40.png)
> - 测试环境接口执行效率
![测试环境效率.png](https://static.studygolang.com/210801/5c7d1412ee2ca56edc522ffeac49619c.png)
- 测试环境配置
![测试环境配置.png](https://static.studygolang.com/210801/58e1962aa8094f9d119db4305f339ef2.png)
> - pprof 图
![pprof002.png](https://static.studygolang.com/210801/c4c3a3f77c5a017afa7d967a707cbd44.png)
![pprof-top.png](https://static.studygolang.com/210801/77568fe65fedd33814ed32cbf48528cb.png)
#### 说明:
> 本地环境中使用http请求从生产代理出来的api进行逻辑处理。在这部分中有使用到golang提供的并发函数`go func`,按照主机数量也就57个主机。这部分按照正确的情况应该是要比生产效率慢一点的,因为俺的frps服务端的配置也就1M带宽。且redis也是自己搭建的redis。也有一点影响(相对于生产的内网环境来说)
> 线上为redis集群,与服务api同一内网环境。效率应该是要比本地以及测试环境高的。但是观察日志结果`并非如此`???
有疑问加站长微信联系(非本文作者)