如何在 2 个不同的 PHP 进程之间共享 MySQL 连接

How to Share a MySQL connection between 2 different PHP Processes

我有一个不寻常的案例,我的网站 运行 通过沙箱有两个完全不同的 PHP 进程。我有正常的网站 运行ning 通过 fastcgi 并且在中间 fastcgi 进程通过 cli 执行一个沙盒脚本。这两个进程都需要一个 MySQL 连接,如果有一种方法可以共享该连接,我在徘徊,因为当沙盒脚本 运行ning 时,fastcgi 只是在等待它完成,所以不会有并发。

这将大大提高我的硬件能力,因为与我目前需要的两个连接不同,我每个客户端只需要一个 MySQL 连接。

我总是可以为此效果编写某种多路复用代理,但是有任何 运行 的工厂解决方案吗?非常感谢。

此致。

为此可能值得看看 Persistent Connections。 基本上,如果连接存在,它会自动重新使用。请注意,这是指资源本身,它不会将任何状态从一个进程保存到另一个进程。

在决定使用持久连接之前,您应该了解使用不当的陷阱。 See this question.

使用数据库连接池中间件或代理

sqlrelay

mysql-proxy

proxysql