记一次druid第一次连接数据库很慢问题的发现

背景

写的前后端分离项目中,每次过一段时间之后第一个请求总是很慢,还有项目刚开启得时候第一次登录直接无结果所以想着修复一下这个bug

注意,该问题目前我还没有解决

过程

我先是打开前端看了一眼,发现是前端完全没有收到东西就显示超时,我就修改了超时时间


记一次druid第一次连接数据库很慢问题的发现_第1张图片


记一次druid第一次连接数据库很慢问题的发现_第2张图片

这样前端就没有显示网络错误了,在经过几秒后能成功返回登陆成功

打开druid监控面板

显示这个请求
在这里插入图片描述
进行了2秒多,所以之前的肯定会超时

既然是后端的错误那就去后端进行排查

因为我的后端中登录后会给token赋权
我以为是我的赋权方法写的太臭了,才导致的这个问题,所以我统计了一下时间
在这里插入图片描述
记一次druid第一次连接数据库很慢问题的发现_第3张图片
但是
在这里插入图片描述
这两个没占多少时间

我就在整个方法中都打上了时间输出

后来发现是第一条执行的sql除了问题
在这里插入图片描述
只是一条最简单的sql用了2秒
但是druid监控面板中
记一次druid第一次连接数据库很慢问题的发现_第4张图片
这条sql没用那么长的时间

我就想着不是我的问题了,估计是数据库初始化的问题了

我看了下druid最新的库已经1.2.8了
而我还是1.1.10

记一次druid第一次连接数据库很慢问题的发现_第5张图片
我就更新了一下druid到1.2.8

但是还是不行
在这里插入图片描述
这是后我看了下druid的更新日志

有个keepalive选项
我加入了配置还是不行

第一次访问数据库该慢还是慢

结语

在犹豫要不要加一个功能就是刚打开的时候直接向数据库发个请求去激活一下数据源。

你可能感兴趣的:(web项目相关,数据库,database)