当前位置:主页 > 脚本语言 > Golang >

浅谈beego默认处理静态文件性能低下的问题

时间:2021-04-29 10:57:54 | 栏目:Golang | 点击:

今天使用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通过反向代理连接。这样才能最大限度地保证网站性能。

您可能感兴趣的文章:

相关文章