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用在了同一个域名上面导致冲突了
然后果断删除其中一个解析,解决了这个贼坑的问题

提交评论


安全码
刷新

 

自1996年以来,公司一直专注于域名注册、虚拟主机、服务器托管、网站建设、电子商务等互联网服务,不断践行"提供企业级解决方案,奉献个性化服务支持"的理念。作为戴尔"授权解决方案提供商",同时提供与公司服务相关联的硬件产品解决方案。
 

联系方式

地址:河南省郑州市经五路2号

电话:0371-63520088 

QQ:76257322

网站:800188.com

电邮:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。

微信:用企业微信联系