背景
写的前后端分离项目中,每次过一段时间之后第一个请求总是很慢,还有项目刚开启得时候第一次登录直接无结果所以想着修复一下这个bug
注意,该问题目前我还没有解决
过程
我先是打开前端看了一眼,发现是前端完全没有收到东西就显示超时,我就修改了超时时间
原
现
这样前端就没有显示网络错误了,在经过几秒后能成功返回登陆成功
打开druid监控面板
显示这个请求
进行了2秒多,所以之前的肯定会超时
既然是后端的错误那就去后端进行排查
因为我的后端中登录后会给token赋权
我以为是我的赋权方法写的太臭了,才导致的这个问题,所以我统计了一下时间
但是
这两个没占多少时间
我就在整个方法中都打上了时间输出
后来发现是第一条执行的sql除了问题
只是一条最简单的sql用了2秒
但是druid监控面板中
这条sql没用那么长的时间
我就想着不是我的问题了,估计是数据库初始化的问题了
我看了下druid最新的库已经1.2.8了
而我还是1.1.10
我就更新了一下druid到1.2.8
但是还是不行
这是后我看了下druid的更新日志
有个keepalive选项
我加入了配置还是不行
第一次访问数据库该慢还是慢
结语
在犹豫要不要加一个功能就是刚打开的时候直接向数据库发个请求去激活一下数据源。