Heim >Backend-Entwicklung >PHP-Tutorial >php长连接是否必须使用代理模块去做

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

WBOY
WBOYOriginal
2016-06-06 20:50:331317Durchsuche

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一次请求。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn