每隔一段时间后第一次请求耗时特别长

news/2024/10/19 10:58:07

  同一个接口连续请求耗时都是毫秒级别的,当一段时间不请求后会变成秒级别,通过日志跟踪发现业务出处理的时间是毫秒级别的,怀疑是过滤器或者是容器的问题,通过IDEA 远程debug 发现经过一段时间不使用再次请求接口,会寻找 com.mysql.jdbc.MySQLConnection类,猜测是tomcat 丢弃了已加载mysql驱动类,导致需要重新加载,但是该类是mysql5.1.38的目录,项目里面的是mysql8.0 新的目录应该是com.mysql.cj.MysqlConnection 所以这里查找该类的时候会非常耗时。

参考:

  java - 为什么在处理第一个请求时,我的嵌入 tomcat 的 Springboot 太慢了?_Stack Overflow中文网

  java - 同事升级了MySQL驱动8.0,导致应用大量超时 - 个人文章 - SegmentFault 思否

解决方案:

  由于该项目的背景原因所以通过修改tomcat 配置不再丢弃已加载的类

@Configuration
public class EmbeddedTomcatConfiguration {@BeanTomcatServletWebServerFactory tomcatFactory() {return new TomcatServletWebServerFactory() {@Overrideprotected void postProcessContext(Context context) {context.setResources(new ExtractingRoot());}};}
}

疑问:

  1.为什么能成功加载到了mysqlconnection

  2.tomact 丢弃加载的类的时间是在哪里,如果tomcat 没有加载到这个类,那么是通过druid加载到的吗?

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73371.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

linux上编译运行c程序

创建test文件,进入该目录后创建hello.c文件使用vim hello.c命令编辑hello.c文件编写完成后保存该文件,使用gcc进行编译并生成可执行程序在终端中执行输入./hello执行相关代码

效率工具类软件分类解析 | To teacher

写给我的同仁的推荐信,万一你需要连你自己也说不清楚的功能软件,你不妨看看这个软件导图,说不定能节省你好多的时间 .前情概要 在编制博客过程中,自己也积累了一些常用的软件,由于主要工作内容集中在前端,所以办公软件使用的不是很多,零零散散,直到看到一位大牛分享在 …

RabbitMQ 发布订阅(Publish Subscribe)模式示例

总结自:BV15k4y1k7Ep交换机 订阅模式示例图:在简单模式和工作队列模式中,只有 3 个角色:P:生产者,也就是要发送消息的程序。C:消费者,消息的接受者,会一直等待消息到来。Queue:消息队列,图中红色部分。而在订阅模型中,多了一个 Exchange 角色,而且工作过程略有变化…

Leetcode 1135. 最低成本连通所有城市

1.题目基本信息 1.1.题目描述 想象一下你是个城市基建规划者,地图上有 n 座城市,它们按以 1 到 n 的次序编号。 给你整数 n 和一个数组 conections,其中 connections[i] = [x_i, y_i, cost_i] 表示将城市 x_i 和城市 y_i 连接所要的cost_i(连接是双向的)。 返回连接所有城…

Leetcode 1129. 颜色交替的最短路径

1.题目基本信息 1.1.题目描述 给定一个整数 n,即有向图中的节点数,其中节点标记为 0 到 n – 1。图中的每条边为红色或者蓝色,并且可能存在自环或平行边。 给定两个数组 redEdges 和 blueEdges,其中:redEdges[i] = [a_i, b_i] 表示图中存在一条从节点 a_i 到节点 b_i 的红…

Linux系统命令3

1、df 查看磁盘使用情况Filesystem:代表该文件系统时哪个分区,所以列出的是设备名称。 1K-blocks:说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置。 Used:已经使用的空间大小。Available:剩余的空间大小。 Use%:磁盘使用率。如果使用率在90%以上…

线性表学习1

线性结构 若结构是非空有限集,则有且仅有一个开始结点和一个终端结点,并且除了首尾节点外所有结点都最多只有一个直接前趋和一个直接后继。 可表示为:(a1,a2,a3,...) 特点:只有一个首结点和尾结点 本质特征:除首尾结点外,其他结点只有一个直接前驱和一个直 接后继。 简言…

学习 gradle 基础

简介 Gradle 的优势一款最新的,功能最强大的构建工具,用它逼格更高 使用 Groovy 或者 Kotlin 代替 XML,使用程序代替传统的 XML 配置,项目构建更灵活 丰富的第三方插件,让你随心所欲使用 完善 Android,Java 开发技术体系下载和安装 官网地址 https://services.gradle.org…