我正在經歷一個非常緩慢的ADO和mysqli連接,用於我的生產Web服務器。目前的軟件設置是Windows 2008 Server R2 Standard Edition SP1,Apache 2.4,PHP 5.3.10,MySql 5.5.24,Pear 1.94,Zend Engine 2.30版本。ADO和msqli連接非常慢
我已經使用XDEBUG描述了代碼,它顯示了每個約1200ms的初始連接(無論頁面被訪問),而在本地開發機器和另一個測試服務器上,連接只需要8ms左右。除了php,pear,mysql和apache ini以及conf文件外,網站的代碼都是通過SVN同步的。我對這些做了差異檢查差異,並沒有任何差異。數據庫內容也是一個完整的副本。生產服務器的所有內容都託管在同一臺機器上,因此沒有任何防火牆或互聯網問題。
第一連接配置文件有以下調用堆棧:
ADOConnecton->Connect
ADODB_mysql->_connect
php::mysql_connect
第二個:
php::mysqli->mysqli
有什麼建議?
所以第一個代碼塊說你連接到MySQL 3次?你不應該基本上將你的連接存儲到一個單例中,而只是將它傳遞給需要使用db的操作? – Kristian
@Tony如果你嘗試連接命令行客戶端,你是否有相同的延遲?另外,你是連接到「localhost」還是連接到「127.0.0.1」? – RandomSeed
Localhost,它會出現這樣..雖然可能很難說,因爲你不能配置命令行客戶端。 – Tony