Laravel的某个接口用gin改写,效率提升这么多的嘛?
公司的服务器配置:标准型S5 - 8核 16G
整个后端除了socket用的nodejs,其他部份都是laravel。
laravel 版本是6,php版本是7.4。
有个接口特别繁忙,100个请求里,九十几个都是它的。CPU使用率超高,每天会有两个高峰时刻:8AM-9AM和17PM-18PM,CPU飙到九十多。
那个接口是设备上传监测信息的接口,几千台设备。和行政讨论了一下要不要再升级下服务器配置,希望是能不得已再去升配,就想着那个接口单独用GO改写一下。
我内心想着,能下来个30%就不错了,甚至都没想过能下来一半。
昨天下午写完上线,用nginx把那个接口通过proxy_pass单独转发到GO程序的监听端口上,结果CPU使用率直接降到十几。。。我直接惊呆了。以前都觉得所谓的运行效率最多也就高那么些,各个语言其实大差不差的。没想到第一次直接发现,差距这么明显。
今天早上九点截的图,按往常这个时候CPU又要到高峰期了,然而并没有明显的上升。
go这边,第一次写,怎么简单快捷怎么来。用的是gin框架,标准库的sql查询函数,没有用第三方ORM。然后再配了个redis,这个接口的数据需要和其他功能共用的都放到redis里,laravel那边可以通过redis拿数据去处理原来要做的其他业务。
推荐文章: