beego实现的http服务,特别吃cpu
情景
对比压测数据:tomcat/beego,在1000并发的情况下,数据对比。
beego的消耗的cpu已经93.3%(服务器是一个cpu,2核),消耗大大超出tomcat。
问题
请问golang为什么如此消耗cpu?请问还合适做api接口服务吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果你希望性能更好的话,推荐一个web框架 gin https://github.com/gin-gonic/gin
beego是一个开发框架,本来就封装过多,你还拿这个框架开发的http服务来和tomcat对比。beego真的很占CPU。
但这个问题: golang如此消耗cpu?适合写API接口吗?
我建议不要拿beego和golang混为一谈,beego是一个框架,就是在各种包的基础上堆出来的适合新手快速开发的库,而golang是一门语言。golang有原生http库,如果你觉得http原生库写得不好,你完全可以自己重新写一遍,符合http协议就行。
golang是静态语言,至少是因为处理高并发速度还行,才被用在云计算领域。
写API完全没问题,docker/k8s/etcd全是go写的,不适合写的话,阿里/腾讯/百度//青/华为/谷歌/亚马逊云的某些云服务会。。。
完完全全没有任何的问题,beego封装太多了,便于使用
beego 的性能从来不是最好的
如果是只写api我推荐不用框架,因为go的http.handleFunc(pattern,func(writer ResponseWriter,req *Request){})已经很全面了!
如果是想写一些页面和系统,就用gin框架跟Nodejs的express差不多,就是一个快