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

WBOY
풀어 주다: 2016-06-06 20:22:16
원래의
1230명이 탐색했습니다.

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

回复内容:

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

首先,不明说是什么数据库,那么就默认为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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿