记一次BUG解决

  • 记一次BUG解决

    • 问题描述
    • 排查及解决
    • 后续

问题描述

近期用户反映系统经常页面加载不全,功能按钮失效,需要多次刷新才可用,失败率极高,已经影响了用户的使用,我们在本地使用却没有任何问题。后面跟踪发现,部署在服务器上的应用我们访问时,很多JS和资源文件会加载失败,而且失败概率较高,用户的问题就是因为缺少了JS文件和一些样式文件导致的。

排查及解决

猜测一:是不是网络原因?
因为客户使用的商密网,还是VPN,故网络不稳定的情况时有发生。但是进一步分析,就算网络较差,应该也只是加载较慢,不会直接加载失败。
猜测二:是否资源文件的路径不对?
因为每次加载失败的资源文件不固定,而且多次刷新之后就能成功了。所以这个可能性排除。
猜测三:Tomcat配置问题?
因为在本地访问是没有问题的,而一放到服务器上就会出现这个问题,故怀疑是否tomcat的配置有问题,后面果然在tomcat里面发现了一个奇怪的配置:

去掉这个keepAliveTimeout=0的配置之后,BUG迎刃而解。

后续

后面查阅资料,keepAliveTimeout 这个字段是设置下次请求过来之前,持久连接保持的时间,如设置为0,则保持时间为0。这个参数如果不设置,则默认取connectionTimeout 这个参数的值。

持久连接(Keep-Alive)也叫做长连接,它是一种 TCP 的连接方式,连接会被浏览器和服务器所缓存,在下次连接同一服务器时,缓存的连接被重新使用。由于 HTTP 的无状态性,人们也一直很清楚“一次性”的 HTTP 通信。持久连接则减少了创建连接的开销,提高了性能。HTTP/1.1 已经支持长连接,大部分浏览器和服务器也提供了长连接的支持。
keepAliveTimeout:表示在下次请求过来之前,tomcat保持该连接多久。这就是说假如客户端不断有请求过来,且未超过过期时间,则该连接将一直保持。
maxKeepAliveRequests:表示该连接最大支持的请求数。超过该请求数的连接也将被关闭(此时就会返回一个Connection: close头给客户端)。

BUG解决:部分JS等资源文件直接加载失败相关推荐

  1. [WM C++]从资源文件中加载显示png/jpg图片

    一. 实现代码 void DrawImage(HDC hdc,RECT& rc,UINT nIDResource,CString lpType) {     HINSTANCE hInst = ...

  2. RequireJs按需要加载angular模块和依赖,并且用r.js压缩打包js和css文件实现加载优化(图文)。

    RequireJS 是一个JavaScript模块加载器,使用RequireJS加载模块化脚本将提高代码的加载速度和质量.而且能保证其他依赖angular插件前提下才能使用的组件比如像自定义的指令和路 ...

  3. html引入本地css样式无效,vue在index.html里面引入css文件样式加载失败

    问题描述 我在vue的index.html里面引入本地的第三方CSS文件,浏览器会出现一个提示,同时样式也没有生效 问题出现的环境背景及自己尝试过哪些方法 网上搜索了一下说是什么拦截器的问题,但没有找 ...

  4. VS2017.RC文件加载失败问题

    问题:双击.RC文件 出现加载失败和一个红叉. 原因:未能正确加载VC++ Resource Editor Package 解决: VS日志地址(目录可能不一样 但大同小异) C:\Users\Adm ...

  5. initpki.dll加载失败 找不到指定的模块的解决办法

    有用户在更新Win10系统时,收到提示"模块'initpki.dll'加载失败.请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的DLL文件是否有问题.找不到指定的程序.&q ...

  6. 计算机中丢失swr.dll,win10系统提示模块initpki.dll加载失败如何解决

    有不少用户在使用电脑的过程中,发现出现了模块initpki.dll加载失败的提示,遇到这样的问题该怎么办呢,本教程就给大家讲解一下 1.打开搜索,输入:powershell ,在windows pow ...

  7. ASP.NET MVC 扩展HtmlHelper类为 js ,css 资源文件添加版本号

    写在前面 在项目部署当中会需要更新 css 文件或 js 等资源文件,为了避免由于浏览器缓存的原因无法加载新的 css 或 js ,一般的做法是在资源文件的后面加上一个版本号来解决,这样浏览器就会去服 ...

  8. Nginx相关 解决nginx反向代理后页面上的js/css文件无法加载

    解决nginx反向代理后页面上的js/css文件无法加载 location ~ \.php$ {proxy_pass http://127.0.0.1:8000;include naproxy.con ...

  9. HTML5动态加载资源方式,动态加载JavaScript文件的两种方法

    这篇文章主要为大家详细介绍了动态加载JavaScript文件的两种方法,感兴趣的小伙伴们可以参考一下 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval ...

最新文章

  1. 带你彻彻底底搞懂朴素贝叶斯公式
  2. 直播 | 孙剑团队最新工作:用于物体检测的实例条件知识蒸馏 | NeurIPS 2021
  3. 北京智源大会 | 启元AI战胜中国星际冠军,智能体激发人类探索未知
  4. python入门教程完整版-Python入门教程完整版(懂中文就能学会)
  5. PAT甲级1113 Integer Set Partition:[C++题解]贪心
  6. python读取文件名存到list_批量读取文件夹中的文件名
  7. luogu P3786 萃香抱西瓜
  8. boost::hana::count用法的测试程序
  9. 第二章:08运算符[比较运算符]
  10. 心态很容易受别人影响_女人生宝宝也看年龄?这3个影响生育能力的因素,你得了解清楚...
  11. html克隆元素增加id,h.js - 元素克隆与追加
  12. navicat的注册出现提示No All Pattern Found! File Already Patched?
  13. 检测图书ISBN编号校检位
  14. 如何在Nintendo Switch上进行游戏共享
  15. vim 录制宏,自动循环执行组合操作
  16. ChatGPT vscode中文插件
  17. Latex希腊字母、特殊符号汇总表
  18. catia, creo, SW打开stp格式装配体,打开零件
  19. c# Topshelf创建linux与Windows服务
  20. TD62083、TD62783 8通道达林顿型驱动芯片对比

热门文章

  1. Linux od命令
  2. 如何通过优化dedecms的seo来做淘客
  3. 349元我们应该有什么样的期待-原道N12豪华版 RK2906入手初体验
  4. 【ALGO】100盏灯问题
  5. 我的日记本开发手记(2)——配色
  6. Python3爬取小说并保存到文件
  7. 【msdn wpf forum翻译】TextBlock等类型的默认样式(implicit style)为何有时不起作用?...
  8. 基于百度制作离线地图及优化
  9. 原神过剧本键盘精灵脚本
  10. 华为服务器显示U10,什么是华为Hol-U10刷机前的双清