串連MySQL資料庫失敗頻繁的原因

來源:互聯網
上載者:User
串連 mySQL資料庫失敗頻繁,主要是什麼原因造成的? 一年前,我開發了一個網站,租用的是linux下PHP+mySQL的虛擬空間,之前一直 工作正常。

  近半年來,卻頻繁出現串連資料庫失敗錯誤(一周1~2次),需要找空間商重啟mysql服務才行:

  Warning: mysql_connect(): Can 't connect to MySQL server on 'xx.xx.xx.xx ' (4) in /www/users/1b2g.com/xxxx.php on line xxxx

  找空間商投訴,空間商說是我自己的問題,說同主機的其他網站沒有類似問題。

  在網上搜尋,似乎有些網友說,操作資料庫不能用mysql_connect()和mysql_close()開關。照文中指示,將mysql_connect()改成了mysql_pconnect(),似乎正常了半個月時間。但是這半個月恰好因為百度調整,我的網站流量下降了。這2天,流量恢複,問題再度出現,而且不再是1周1~2,是天天出現:

  Warning: mysql_pconnect(): Can 't connect to MySQL server on 'xx.xx.xx.xx ' (4) in /www/users/1b2g.com/xxxx.php on line xxxx

  特別是今天,重啟了也沒用,又壞了,又聯絡不到客服,急死了。

  請大家幫忙找找,到底是啥原因?是否和流量大小相關?應該怎麼解決,謝謝!

  回答:對於這個疑問,當時有人提出建議:最佳化一下程式,每頁不要有過多的查詢. 特別是迴圈體裡面,盡量不要再有查詢,否則很容易堵塞。應該考慮使用串連池

  但是提問者又出現了問題:我已經儘可能減少每個頁面的資料庫連接數了。

  曾經最開始的時候有個頁面的串連數是比較多(因為開始為了代碼複用,用了iframe嵌套),後來經最佳化最多的1個頁面已經減到4個;其他一般1~2個。

  昨天我已經把所有頁面的串連數都降到2個以下,使用者訪問最多的頁面(占訪問總量的80%)只有1個串連。

  但是今天中午問題又出現了。

  從現象來看, 'xx.xx.xx.xx '應該你是用了網域名稱或者IP作為host名,這樣一旦DNS或者網關出問題,就會連不上本機連接埠,建議你使用localhost作為host名。localhost還會在不支援socket的時候自動使用管道串連本機,不會出現串連問題。
轉載:http://www.51testing.com/html/33/n-148833.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.