ホームページ >バックエンド開発 >PHPチュートリアル >php长连接是否必须使用代理模块去做
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一次请求。