最近發現pconnect在high loading時可能因pconnection不夠而無法取資料,出現這樣的錯誤訊息:
Warning: mysql_pconnect(): Too many connections
但用connect的寫法,要保留打開的$connection做為sql query使用,coding上較麻煩,雖說可以寫成class,將$connection變數存在class內,避免這個麻煩。還有connect可能要自己free query result(如果keep connection較久的話),而pconnect不用處理free(但不見得沒問題 ),看了WordPress和SMF的code,它們都用connect,沒有用簡易的pconnect。這麼說來,大規模的PHP program,還是用connect自己管較好囉? 不清楚PEAR或PECL怎麼處理的。
偷懶的小東西還是繼續用pconnect吧 ,也可以透過tube DB or web server的方式避免out of pconnection,比方增加MySQL pconnection數,或降低web alive connection,在Apache裡是設MaxKeepAliveRequests和KeepAliveTimeout吧。
沒有留言:
張貼留言