mysql数据库首次查询缓慢

绕了一大圈的问题分析思路

** 缺陷效果表现 **
mysql查询,没有缓存的情况下,就是第一次查,特别的慢 然后又正常了,过了一段时间后又特别缓慢

  1. 初始判断mysql索引等等问题
  2. 然后判断是不是缓存问题,毕竟表现形式就是第一次慢,后面缓存了快

一开始以为是mySql问题 最后还是未解决问题

索引问题排除   考虑到实际数据并不多不考虑到索引问题
mysql在本地环境下特别快,但是使用远程的sql就出现问题了

会不会是mysql自动断开连接所以搜索缓慢 最后还是未解决问题

这种自动断开无非就是因为无人访问mysql,mysql有资源保护机制,发现没人用了就断开掉节约资源
通过给一个定时任务3分钟调用一次sql语句实现永久不断开

发现使用Navicat查远程mysql库也很缓慢 最后还是未解决问题

Navicat一直有一个通病,就是时不时卡顿闪退一想到navicat都搜索缓慢时不时数据库本身有问题

1. 使用在[mysqld]下配置一下属性方式尝试解决,实际未解决问题
skip-name-resolve
在linux环境下配置文件是/etc/my.cnf,
windows环境下配置是my.ini文件
做完操作后记得重启mysql
2. 修改mysql连接方式外网修改内网ip尝试解决,实际未解决问题
之前一直是用的外网ip连接的数据库,api和数据库实际都是在同一个服务器,可以使用内网ip连接mysql

判断是不是代码逻辑问题 导致第一次多操作缓慢 最后还是未解决问题

但是第一次代码虽然会有很多操作 有这种可能性 可是后面存储了信息之后 走的是缓存的逻辑,只做了一个简单的查询判断接口,
但是这个简单的接口也特别的慢,这就不是代码问题的    

发现是建立连接( Initial connection)时巨慢 21s 成功解决问题

在这里插入图片描述
Initial connection 什么鬼,竟然20多秒

其实测试时就已经发现这个问题了,一直以为是mysql或者其他的问题导致的第一次加载特别慢的原因,
所以没在意分析具体耗时在哪。
无奈百度,google也没找到解决方案。
全都是其他的一堆乱七八糟的方案,把我带偏了

本地localhost访问一直都很快,显然不是代码的问题。ping的了域名发现解析速度也没有问题。
最后重新给网站换了个域名,结果就解决了。打开阿里云查看域名解析,
发现自己把两个IP用在了同一个域名上面导致冲突了
然后果断删除其中一个解析,解决了这个贼坑的问题
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值