SpringBoot 加载静态资源贼慢,咋整?

2017-12-22 22:22:31 +08:00
 RYAN0UP

不知道是什么原因,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;
    }

3546 次点击
所在节点    Java
8 条回复
Kongzong
2017-12-22 22:53:08 +08:00
描述下你发现 1 到 3s 现象的地方,是服务器总响应时间?网页等静态资源应该放在 resources 目录下的 static 目录下
wdlth
2017-12-22 22:57:25 +08:00
你部署 Nginx 又不开 proxy_cache,起不到缓存的效果。就算是 Tomcat 处理静态资源也不会很慢,看看是不是走了 Filter。
RYAN0UP
2017-12-22 23:19:19 +08:00
@Kongzong 不呀,就是 F12 看的,一个 css 文件都得加载 1000ms 以上,静态资源是放在 resources 的 static 里的。
RYAN0UP
2017-12-22 23:19:31 +08:00
@wdlth 谢谢,我去试试
srx1982
2017-12-22 23:54:46 +08:00
别用内嵌的 tomcat,会有奇怪的问题
likuku
2017-12-23 00:15:51 +08:00
浏览器,开发模式,网络 /资源,查看下哪些资源慢。

运营商网络 OK,那就是到服务器慢,果断上 CDN / 把慢的静态资源转移到带 CDN 的 对象云。
olOwOlo
2017-12-23 00:16:32 +08:00
emmm... 1m 你还想多快呢???= =
bootstrap 100+KB 呢,加载 1000ms 以上是正常情况 = =
开源轮子用公共 CDN (比如 http://www.bootcdn.cn/),图片用图床,静态资源设置好缓存头部
likuku
2017-12-23 00:17:01 +08:00
"阿里的 1m,1 核的学生机" ...必然网络资源就给那点,再来个异地夸运营商,你还想要多快?没有 CDN 就别想了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/416952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX