為什么很多書上都沒有提及?
首先,php是可以實現(xiàn)連接池的,不過只能在cli模式下運行可以實現(xiàn),通常我們的web服務是使用cgi模式運行的。
一般中小型應用,不太需要用到這個,主要php連接數(shù)據(jù)庫的擴展基本都是c實現(xiàn)的,速度其實很快。
如果確實發(fā)現(xiàn)連接瓶頸(基本不太可能),你可以參考下面解決方案。
1. 你可以用命令行模式,寫一個常駐后臺的進程來實現(xiàn)連接池,開放接口給其他應用調(diào)用即可(不建議嘗試,過于復雜,且穩(wěn)定性待定)
2. 當你使用持久連接連接數(shù)據(jù)庫的時候,實際上每一個fpm worker進程會對應一個mysql連接,你可以根據(jù)這個特點來配置phpfpm工作進程數(shù)和mysql連接數(shù)。(也不是太好)
3. 安裝swoole擴展可以實現(xiàn)真正的連接池,而且效率非常好。
建議第三種方案,成熟且高性能。