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