2006年12月26日 星期二

PHP用mysql_connect() or mysql_pconnect()?

最近發現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(但不見得沒問題 XD ),看了WordPress和SMF的code,它們都用connect,沒有用簡易的pconnect。這麼說來,大規模的PHP program,還是用connect自己管較好囉? :( 不清楚PEARPECL怎麼處理的。

偷懶的小東西還是繼續用pconnect吧 XD ,也可以透過tube DB or web server的方式避免out of pconnection,比方增加MySQL pconnection數,或降低web alive connection,在Apache裡是設MaxKeepAliveRequests和KeepAliveTimeout吧。

沒有留言:

張貼留言