spring boot 做的网站访问隔几秒会慢一次,想不出来是什么问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
srx1982
V2EX    问与答

spring boot 做的网站访问隔几秒会慢一次,想不出来是什么问题

  •  
  •   srx1982 2017-02-19 11:06:51 +08:00 8361 次点击
    这是一个创建于 3161 天前的主题,其中的信息可能已经有所发展或是发生改变。

    软件版本: os: centOS 6.5 (阿里云) spring boot: 1.4.1 (自带的 tomcat 8.5.5 )

    部署方式: java -jar xxx.war (直接运行 war 包方式) 端口 8081

    cache 相关配置: spring.resources.cache-period = 1 spring.resources.chain.enabled = true

    状况描述: 1.访问 www.abc.com:8081/a.html , a.html 返回 304 ,但会花费 1.5s , a.html 中的各种 css 和 js 也都返回 304 ,每个 15ms 左右。 2.在 20 秒(有可能是 15 秒,大概是 10 到 20 秒之间)内刷新此页,无论是 a.html 还是其中的资源,仍然返回 304 ,但 a.html 明显提升速度,仅花费 15ms 左右和其他资源一样,这 20 秒内反复刷新都很快,所有资源花费 15ms 左右。但是一旦超过 20s 后再访问, a.html 又会花费 1.5s 。 3.同样一台服务器,一个非 spring boot 的网站也在同时运行,用的是 tomcat 8 ,端口 8080 。这个网站就没有此问题。 4.访问接口或者 jsp 也同样,虽然每次都返回 200 ,但是也会出现和 1 、 2 描述的相同情况。 5.访问不存在的资源也会出现这种情况(返回 404 )。

    思考: 1.由于访问所有资源(静态、接口)都会出现这种情况,所以应该不是静态资源缓存的问题,接口什么的没加过缓存。 2.由于同一台机器的其他服务都没问题,所以目前推断是 boot 自带的 tomcat 有问题。

    想知道这种现象的原因是什么,所以来这里问问各位~,哪里写的不清楚还请大家指明,谢谢~

    第 1 条附言    2017-02-20 13:02:07 +08:00
    补充一下:本机调试的时候不会出现这种问题。

    暂时解决方案:把 war 包部署到正常的 tomcat 上,没有再出现过这种情况。先绕个路解决一下,回头再硬磕。
    13 条回复    2017-10-31 21:48:58 +08:00
    ljcarsenal
        1
    ljcarsenal  
       2017-02-19 11:37:33 +08:00 via Android
    静态资源文件交给 nginx 啊,另外这些不变的东西应该设置成强缓存 反回 200 from cache 。
    不懂 java 接口也有问题的话应该就是 tomcat 的原因 不过上边说的是从前端方面应该进行的优化
    srx1982
        2
    srx1982  
    OP
       2017-02-19 11:43:19 +08:00
    @ljcarsenal 谢谢回复,如果这个问题解决不了那上线的时候只能用 nginx 了,实际上我还是比较关心为什么会发生这种事情。
    ljcarsenal
        3
    ljcarsenal  
       2017-02-19 11:48:14 +08:00 via Android
    @srx1982 我不知道自带的那个服务器是不是只是为了开发用的。其他脚本语言的开发框架都会自带一个开发的服务器 这玩意性能很弱 只是开发的时候使用的
    srx1982
        4
    srx1982  
    OP
       2017-02-19 11:55:57 +08:00
    @ljcarsenal 是个嵌入式的最简版,也有可能是这个原因
    bdbai
        5
    bdbai  
       2017-02-19 13:08:06 +08:00 via Android
    @ljcarsenal 200 from cache 不是返回的。还有 Swoole 、 Tornado 以及 Node.js 搭的服务都是必须自己运行的。
    ljcarsenal
        6
    ljcarsenal  
       2017-02-19 14:42:06 +08:00 via Android
    @bdbai 嗯 我意思就是不向服务器请求 直接使用缓存
    cathzhang
        7
    cathzhang  
       2017-02-19 15:32:00 +08:00
    性能问题连代码都不贴怎么看?代码里有基础的 log 输出吗?
    做一下 jvm 线程监控。
    查看一下页面缓存相关的配置。
    查看一下数据库连接池配置。
    srx1982
        8
    srx1982  
    OP
       2017-02-19 16:16:36 +08:00
    @cathzhang 我感觉不是代码导致的性能问题,所以就没贴。无论是静态资源还是接口,甚至是访问不存在的资源路径都会出现这个问题。所以我觉得可以排除页面缓存和数据库连接池的问题。我回头会做一下 jvm 监控试试,谢了~
    selrain
        9
    selrain  
       2017-02-19 22:27:04 +08:00 via Android
    关注
    bwhujie
        10
    bwhujie  
       2017-04-19 08:33:04 +08:00
    请问楼主是怎么解决内嵌 tomcat 运行缓慢的?
    srx1982
        11
    srx1982  
    OP
       2017-04-19 11:41:49 +08:00
    @bwhujie 不用内嵌版本了,后来就部署到正常的 tomcat 上了
    bwhujie
        12
    bwhujie  
       2017-04-19 15:28:07 +08:00
    我们这里页面也遇到了这种问题, 页面访问时快时慢, 最慢的居然 10s, 很莫名其妙的。
    jack80342
        13
    jack80342  
       2017-10-31 21:48:58 +08:00
    这几天翻译了 Spring Boot 最新的官方文档,欢迎fork,https://www.gitbook.com/book/jack80342/spring-boot/details
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5402 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 08:15 PVG 16:15 LAX 01:15 JFK 04:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86