php有没有连接池?为什么很多书上都没有提及
首先,php是可以实现连接池的,不过只能在cli模式下运行可以实现,通常我们的web服务是使用cgi模式运行的。
一般中小型应用,不太需要用到这个,主要php连接数据库的扩展基本都是c实现的,速度其实很快。
如果确实发现连接瓶颈(基本不太可能),你可以参考下面解决方案。
1. 你可以用命令行模式,写一个常驻后台的进程来实现连接池,开放接口给其他应用调用即可(不建议尝试,过于复杂,且稳定性待定)
2. 当你使用持久连接连接数据库的时候,实际上每一个fpm worker进程会对应一个mysql连接,你可以根据这个特点来配置phpfpm工作进程数和mysql连接数。(也不是太好)
3. 安装swoole扩展可以实现真正的连接池,而且效率非常好。
建议第三种方案,成熟且高性能。