环境:独立服务器上的 PostgreSQL 9.2、PHP 5.3、Zend Framework 1
我每分钟在几台服务器上执行数百个 PHP 脚本(从 shell 启动,而不是作为 WWW 服务器请求),这些脚本用于 Zend Frameworkpdo_pgsql
与 PostgreSQL 的连接。平均脚本执行时间约为 15 秒,大部分时间他们不使用数据库。现在每个脚本都在开始时打开数据库连接并在结束时关闭它。它效率低下,所以我决定脚本将在执行期间关闭并重新打开数据库连接几次。
但是重新打开与数据库的连接也效率低下。由于我的 PHP 脚本作为单独的进程(而不是 WWW 服务器工作程序)运行,因此无法使用 PHP 持久连接。在我看来,最好的解决方案是在每台服务器上使用连接池系统,它将为 PHP 脚本存储到 PostgreSQL 的连接。
我对吗?如果是,您建议将哪种连接池系统与 PHP、Zend 框架(pdo_pgsql
适配器)和 PostgreSQL 一起使用?