@
目錄
繞了一大圈的問題分析思路
** 缺陷效果表現 **
mysql查詢,沒有緩存的情況下,就是第一次查,特別的慢 然后又正常了,過了一段時間后又特別緩慢
- 初始判斷mysql索引等等問題
- 然后判斷是不是緩存問題,畢竟表現形式就是第一次慢,后面緩存了快
一開始以為是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用在了同一個域名上面導致沖突了
然后果斷刪除其中一個解析,解決了這個賊坑的問題