我使用的设置包括PHP(5.5),NGINX(1.1.19)和PHP-FPM,MySQL(5.5.34)作为数据库,以及许多存储过程。
我不想太深入了解我为什么使用存储过程的原因,但据我所知,使用与它们的持久连接是一个好习惯,因为它们会加载每个连接,从而减慢速度(那是真的吗?)。
现在,据我所知,要拥有持久连接,我需要一些子进程,但是PHP-FPM甚至是必要/可能的吗?我读过有关这方面的不一样的内容,我并不完全确定。
基本上,主要问题是:使用上面提到的安装程序(PHP-FPM,NGINX,MySQL)时,使用/处理与MySQL持久连接的最佳方式是什么?可能吗?如果没有,有什么可行的解决方法?
提前致谢!
答案 0 :(得分:0)
PHP-FPM作为守护进程运行,因此在发布worker之前一直保持某些状态。这意味着您可以利用持久性连接,例如connections and connection management部分中记录的内容。
关于在每个连接上加载的存储过程,除非您不断创建和删除它们,否则答案不会。存储过程通常持久存储在数据库服务器上,类似于模式中的触发器和其他数据库对象,因此只会在实际执行时产生开销。