php的短连接,短进程有什么缺点

WBOY
发布: 2016-06-06 20:22:16
原创
1231 人浏览过

比如每个页面结束,数据库连接就关了,下个页面需要重新打开数据库,重新连接,获取数据。这样比起那些可以持久过程,长连接的网站,有什么重大缺点和小优点呢。

回复内容:

比如每个页面结束,数据库连接就关了,下个页面需要重新打开数据库,重新连接,获取数据。这样比起那些可以持久过程,长连接的网站,有什么重大缺点和小优点呢。

首先,不明说是什么数据库,那么就默认为mysql。
然后,web的大部分应用场景适合短链接,而不是长链接。比如你看小说,当小说当前章获取到了后,相当长一段时间用户不会出发新的链接,为何不释放掉该链接让给需要的用户呢?缺点是,反复建立释放链接,也是损耗。
至于长链接,简单的说,就与上面恰恰相反。
其实当具备了sql连接池后,会好很多。
个人愚见,抛砖引玉。

优点是简单.....

每一次连接数据库都涉及很多次 Unix System Call ,总在开闭数据库连接是极大的消耗。

对虚拟主机提供商来说,短连接是友好的.
比如虚拟主机厂商开启了100个Apache或者PHP-FPM工作进程来驱动50个虚拟主机站点,
如果1个站点对应1个到MySQL的持久连接,那么1个工作进程就有可能保持50个持久连接,
100个工作进程就是100*50=5000个持久连接,
而MySQL的最大连接数max_connections默认是151,
这5000个连接对MySQL服务器压力还是非常大的.

而对于只有单个应用的服务器来说,开启持久连接后,
一个PHP-FPM保持一个到MySQL的长连接,实现透明的"连接池",
减少每个请求都重复建立和释放连接的开销,能提升性能.

PHP FastCGI进程管理器PHP-FPM的架构
http://my.oschina.net/eechen/blog/541139

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板