beego实现的http服务,特别吃cpu

情景
对比压测数据:tomcat/beego,在1000并发的情况下,数据对比。

beego的消耗的cpu已经93.3%(服务器是一个cpu,2核),消耗大大超出tomcat。

问题
请问golang为什么如此消耗cpu?请问还合适做api接口服务吗?

阅读 14.9k
5 个回答

beego是一个开发框架,本来就封装过多,你还拿这个框架开发的http服务来和tomcat对比。beego真的很占CPU。

但这个问题: golang如此消耗cpu?适合写API接口吗?

我建议不要拿beego和golang混为一谈,beego是一个框架,就是在各种包的基础上堆出来的适合新手快速开发的库,而golang是一门语言。golang有原生http库,如果你觉得http原生库写得不好,你完全可以自己重新写一遍,符合http协议就行。

golang是静态语言,至少是因为处理高并发速度还行,才被用在云计算领域。

写API完全没问题,docker/k8s/etcd全是go写的,不适合写的话,阿里/腾讯/百度//青/华为/谷歌/亚马逊云的某些云服务会。。。

完完全全没有任何的问题,beego封装太多了,便于使用

新手上路,请多包涵

benchmark.png

beego 的性能从来不是最好的

如果是只写api我推荐不用框架,因为go的http.handleFunc(pattern,func(writer ResponseWriter,req *Request){})已经很全面了!
如果是想写一些页面和系统,就用gin框架跟Nodejs的express差不多,就是一个快

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题