浅谈beego默认处理静态文件性能低下的问题
程序员文章站
2022-03-20 16:18:15
今天使用ab(apachebench)测试了一下beego的性能。
3kbytes动态文件,在i3上可以达到每秒1w次响应的性能。
但是在测试静态文件时,beego出现...
今天使用ab(apachebench)测试了一下beego的性能。
3kbytes动态文件,在i3上可以达到每秒1w次响应的性能。
但是在测试静态文件时,beego出现了问题。
ab测试参数:100次请求,并发数5。
问题表现:70%的请求直接失败,连接断开。
按道理来说,一个web server框架,静态文件的性能,应该是高于动态文件性能的。
在动态文件性能达到1w/s的情况下,没理由静态文件性能这么低下。
然后查看了一下beego的源代码。发现beego在处理动态文件请求时,有缓存。而处理静态文件时,没有缓存。
简图:
beego----动态文件----缓存-----文件系统
beego----静态文件-------------文件系统
处理静态文件时,是直接使用文件系统。一般的文件系统的并发量当然很低。
这就是beego的静态文件处理性能低下的原因。
所以在进行网站部署时,需要将相应的静态文件,放置到nginx上进行处理(相同的文件,nginx的静态文件处理可以达到每秒1.5w次响应。
beego与nginx通过反向代理连接。这样才能最大限度地保证网站性能。
以上这篇浅谈beego默认处理静态文件性能低下的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: Golang开发中常用的代码片段汇总
下一篇: 详解Golang互斥锁内部实现