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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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默认处理静态文件性能低下的问题的主要内容,如果未能解决你的问题,请参考以下文章

VUE打包好的文件部署让beego实现静态文件访问,如何用根目录来访问静态文件?

SpringBoot下静态资源处理

nodejs请求静态资源404错误,后台需处理返回http请求的静态资源

Django AllAuth 静态文件未显示

Nginx静态文件服务器配置方法

nginx下根据ua来源判断是启用静态目录还是使用反向代理