前言
移植(複製)系統後,新系統很慢
事情是這樣的,公司成立分部,鑑於前輩們 (都走了) 建的系統很好用公司讓我去建一個到分部,我心裡 OS : 複製貼上我最會 !!
一切都很順利,安裝 PHP 然後 Hello World ~~
安裝 Mysql 匯出匯入,會 Google 的都會,直到我開啟系統...好慢...
檢查步驟 1 : 打開"開發者人員選項"
不急不慌先怪硬體...,開玩笑的...請按 F12
開了 F12 就發現 Hello World 很快,但系統很慢...
再仔細觀察發現連結資料庫特很慢 ( 圖檔很快 )
檢查步驟 2 : 檢查 Mysql
我第一個想法,我要去優化前輩們的 SQL,結果大概是 2.2 秒 變 2 秒...
檢查步驟 3 : Google it !!
Google 結果發現問題出在 localhost 身上
當你連結資料庫時,hostname = "localhost",此時 Server 會找 localhost 所對應的 IP 位置
只要你沒特別將 localhost 導向 127.0.0.1,那就會找 ::1,IPv6 裡的主機本身
鑒於 Mysql 並沒設定開啟 IPv6 所以你就只能等,等 Server 用 ::1發現不行才會換 127.0.0.1
造成連結資料庫特很慢的結果。
解決辦法
解決辦法有 3 種
1. 把系統裡的 hostname 通通從 localhost 改成 127.0.0.1
如果你前輩有先見之明,它會是全域參數,改一下就好
若不是...見一個改一個...
2. 設定主機的 localhost 讓其導向 127.0.0.1
這我不會,附上參考資料
http://iamshowp.blogspot.com/2010/05/127001localhostipv6.html3. Enable Mysql IPv6
這最簡單,最推薦修改 config
[mysqld]
bind_address = 127.0.0.1,::1
重啟 MySQL (windows指令)net stop mysql
net start mysql
參考資料 : https://dev.mysql.com/doc/refman/5.5/en/ipv6-local-connections.html
0 意見:
張貼留言