我對由GoDaddy(linux)託管的站點使用MySQL 5.0。MySQL錯誤「連接太多」
我在我的網絡應用程序上做了一些測試,突然間我發現網頁真的很慢。最後,經過漫長的等待,我進入了一個頁面,上面寫着「MySQL錯誤,連接太多......」的字樣,它指向我的config.php文件,它連接到數據庫。
它剛剛連接到數據庫,沒有其他用戶。在我的每個頁面上,我都在頂部包含config.php文件,並關閉頁面末尾的mysql連接。它們之間可能有幾個查詢。我擔心我沒有足夠關閉mysql連接(mysql_close())。
但是,當我嘗試在運行查詢後關閉它們時,我在頁面上收到連接錯誤。我的網頁是PHP和HTML。當我嘗試關閉查詢時,看起來下一個不會連接。爲了連接,我需要在關閉後再次包含config.php嗎?
這個錯誤讓我害怕,因爲在2周內,約有84人開始使用這個網絡應用程序。
謝謝。
編輯:
這裏是我的網頁的一些僞代碼:
require_once('../scripts/config.php');
<?php
mysql_query..
if(this button is pressed){
mysql_query...
}
if(this button is pressed){
mysql_query...
}
if(this button is pressed){
mysql_query...
}
?>
some html..
..
..
..
..
<?php
another mysql_query...
?>
some more html..
..
..
<?php mysql_close(); ?>
我計算過,這樣,每個頁面打開時間,打開連接,然後將連接關閉時頁面已完成加載。然後,連接再次打開時,有人點擊頁面上的按鈕,等等...
編輯:
好了,所以我剛打完電話與GoDaddy。顯然,用我的經濟套餐,我一次只限制50個連接。雖然今天我的問題發生在只有我訪問該網站的時候,但他們表示他們之前有一些服務器問題。然而,看到我將如何爲我的網絡應用程序提供84個用戶,我應該升級到「豪華」,一次允許100個連接。在某一天,每次可能有大約30個用戶訪問我的網站,所以我認爲100是更安全的選擇。你們同意嗎?
粘貼一些代碼,請。 – Dirk 2009-07-29 19:02:03
看起來似乎很瘋狂,但試着在你的連接方法上加上某種計數器,看它是否真的只在每頁加載時被調用一次。我有一個類似的問題,我實際上在沒有意識到的情況下爲每個查詢創建一個新的連接。可能值得一試。 – 2009-07-29 19:06:29
@Mike B偉大的建議,我一定會嘗試這個。 – littleK 2009-07-29 19:14:44