>백엔드 개발 >PHP 튜토리얼 >php长连接是否必须使用代理模块去做

php长连接是否必须使用代理模块去做

WBOY
WBOY원래의
2016-06-06 20:50:331317검색

RT 必须自己做个代理模块 还是用php直接可以做
有没人了解?
大家讨论下

回复内容:

RT 必须自己做个代理模块 还是用php直接可以做
有没人了解?
大家讨论下

最近我也遇到相同的问题,在并发较高的时候,如果没有长连接,新建网络连接会造成大量的资源浪费。
当PHP的运行环境为Nginx+PHP-FPM时,用pconnect会造成已经建立的连接不会释放的同时又不断的新建连接,最终后果是很快消耗掉所有可用的网络IO。
我考虑可以使用mysql-proxy连接池,但是同时也出现了问题,不知道是不是ro-pooling脚本的问题,在使用过程中产生大量的1105错误,大概意思是backends down之类的错误,调整脚本也没有效果。
后来又研究sqlrelay,大概在05、06年时我使用过sqlrelay,当时给我留下的印象并不好,需要大量改造程序不说,还有事务错误的问题,所以这次没有优先考虑sqlrelay,不过今天看到从上次使用以来发布过不少版本,而且还可以做到不需改造直接使用,所以打算做一下测试看。
目前还没有找到更好的解决方案,大家讨论一下哈。

不知道是不是正确的理解了你的意思。

PHP的执行模式决定了对长连接的不适合。
我理解的你是需要web即时信息交互。sf现在貌似是每10s一次请求。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.