Wishlist 0 ¥0.00

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

About Us

Since 1996, our company has been focusing on domain name registration, web hosting, server hosting, website construction, e-commerce and other Internet services, and constantly practicing the concept of "providing enterprise-level solutions and providing personalized service support". As a Dell Authorized Solution Provider, we also provide hardware product solutions associated with the company's services.
 

Contact Us

Address: No. 2, Jingwu Road, Zhengzhou City, Henan Province

Phone: 0086-371-63520088 

QQ:76257322

Website: 800188.com

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.