长短连接区别
不同于mysql_connect的短连接,mysql_pconnect持久连接的时候,将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。
当执行完毕后,到 mysql 服务器的持久连接不会被关闭,此连接将保持打开以备以后使用,即mysql_close() 不会关闭由 mysql_pconnect() 建立的连接。
Apache与长连接管理
PHP本身并没有数据库连接池的概念,但是Apache有进程池的概念, 一个Apache子进程结束后会被放回进程池, 这也就使得用mysql_pconnect打开的的那个mysql连接资源可以不被释放,而是依附在相应的Apache子进程上保存到了进程池中。于是在下一个连接请求时它就可以被复用。但是在Apache并发访问量大的时候,如果使用mysql_pconnect,会由于之前的Apache子进程占用的MySQL连接没有close, 很快使MySQL达到最大连接数,使得之后的请求可能得不到响应。
当然,高并发情况下也不能怪罪pconnect,用短连接频繁连接mysql,也一样有问题。在没有连接池的情况下,用apache做连接池管理是比较好的选择。
Mysql长连接
本机暂存
同分类推荐文章
- 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
- 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
- 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)
建议继续学习
- 用Hyer来进行网站的抓取 (累计阅读 158,251)
- 使用gettext来支持PHP的多语言 (累计阅读 39,270)
- MySQL数据库在实际应用一些方面的介绍 (累计阅读 36,399)
- WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,164)
- Mysql监控指南 (累计阅读 21,351)
- Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,408)
- 由浅入深探究mysql索引结构原理、性能分析与优化 (累计阅读 16,523)
- 我的PHP,Python和Ruby之路 (累计阅读 13,147)
- 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 13,058)
- include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,789)