douchilian1009 2013-03-22 10:35
浏览 94
已采纳

与PHP,Zend Framework和PostgreSQL的连接池[关闭]

Environment: PostgreSQL 9.2 on separate server, PHP 5.3, Zend Framework 1

I execute on few servers every minute hundreds PHP scripts (launched from shell, not as WWW server request) which use in Zend Framework pdo_pgsql connection to PostgreSQL. Average script execution time is about 15s, most of the time they don't use database. Right now each script opens database connection at the beginning and closes it at the end. It is inefficient so I decided that script will close and reopen db connection few times during execution.

But reopening connection to database in also inefficient. PHP persistent connection is impossible to use because of my PHP scripts run as separate processes (not as WWW server worker). In my opinion the best solution will be using connection pooling system on each server, which will store connections to PostgreSQL for PHP scripts.

Am I right? If yes, which connection pooling system do you recommend to use with PHP, Zend Framework (pdo_pgsql adapter) and PostgreSQL?

  • 写回答

1条回答 默认 最新

  • doupoji3856 2013-03-22 13:05
    关注

    PgBouncer is ideal for this job. It'll reduce connection overhead without adding other unnecessary complexity if used in session pooling mode (the default). The more aggressive pooling modes like transaction- or statement-pooling do affect the client application so you should only use them if you actually need them.

    More information can be found on the PostgreSQL wiki as James points out.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥15 统计大规模图中的完全子图问题
  • ¥15 使用LM2596制作降压电路,一个能运行,一个不能
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式