不知道是什么原因,SpringBoot 项目部署到服务器之后,静态资源加载的特别慢,比如 bootstrap.css 都得加载 1-3s 左右,图片和 js 文件都一样。部署方式采用的是 nginx 反向代理,本以为使用了反向代理会快一点,结果还是很慢。。。大家有类似的情况吗?是怎么个方案?
下面是详细信息:
打包好的项目结构:
xxxxx.jar --> 里面只包含 class 字节码文件及启动类
resources --> 里面包含模板文件和 css,js 等资源文件
lib --> 所有依赖 jar 包
测试服务器是阿里的 1m,1 核的学生机。部署方法是使用的 java -jar xxxx.jar 运行方式,内嵌的 tomcat 容器。
nginx 反向代理配置:
location /
{
proxy_pass http://ip:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
add_header X-Cache $upstream_cache_status;
proxy_buffering off;
expires 12h;
}
1
Kongzong 2017-12-22 22:53:08 +08:00 via iPhone
描述下你发现 1 到 3s 现象的地方,是服务器总响应时间?网页等静态资源应该放在 resources 目录下的 static 目录下
|
2
wdlth 2017-12-22 22:57:25 +08:00
你部署 Nginx 又不开 proxy_cache,起不到缓存的效果。就算是 Tomcat 处理静态资源也不会很慢,看看是不是走了 Filter。
|
3
RYAN0UP OP @Kongzong 不呀,就是 F12 看的,一个 css 文件都得加载 1000ms 以上,静态资源是放在 resources 的 static 里的。
|
5
srx1982 2017-12-22 23:54:46 +08:00
别用内嵌的 tomcat,会有奇怪的问题
|
6
likuku 2017-12-23 00:15:51 +08:00
浏览器,开发模式,网络 /资源,查看下哪些资源慢。
运营商网络 OK,那就是到服务器慢,果断上 CDN / 把慢的静态资源转移到带 CDN 的 对象云。 |
7
olOwOlo 2017-12-23 00:16:32 +08:00 1
emmm... 1m 你还想多快呢???= =
bootstrap 100+KB 呢,加载 1000ms 以上是正常情况 = = 开源轮子用公共 CDN (比如 http://www.bootcdn.cn/),图片用图床,静态资源设置好缓存头部 |
8
likuku 2017-12-23 00:17:01 +08:00
"阿里的 1m,1 核的学生机" ...必然网络资源就给那点,再来个异地夸运营商,你还想要多快?没有 CDN 就别想了。
|