类别:PHP问题 / 日期:2019-12-02 / 浏览:69 / 评论:0

一个完全的软件体系大多数情况下是由多个历程配合合作举行的,哪怕它们在统一台效劳器上。所以,历程之间怎样举行高效的通信至关重要。

php作为脚本语言,不像C++/Java那样历程常驻,所以它衔接后端的效劳都是运用短衔接。

画外音:有朋侪说,能够用C写扩大? (引荐进修:PHP视频教程)

上图是一种典范场景,站点php布置在机械A上,缓存memcache布置在机械B上,之间通太短衔接通信,历程为:

(1) php竖立tcp短衔接;

(2) 根据memcache协定发送数据;

(3) 吸收memcache返回的数据;

(4) php封闭tcp短衔接;

在流量小时,上述历程没有任何问题,当网站流量非常大的情况下,短衔接可能会成为机能瓶颈,有什么优化方法吗?

画外音:竖立衔接,烧毁衔接很耗时。

话锋一转,什么是UNIX Domain Socket?

UNIX Domain Socket是一种IPC机制,它不须要经由收集协定栈,不须要打包拆包、盘算校验和、保护序号和应对等,只是将运用层数据从一个历程拷贝到另一个历程。

画外音:IPC, Inter-Process Communication, 历程间通信。

它能够用于统一台主机上两个没有亲缘关联的历程,并且是全双工的,供应可靠音讯通报(音讯不丧失、不反复、不紊乱)的IPC机制。

画外音:亲缘关联是指,父子历程或许兄弟历程这类“特别的”历程关联。

能够看到,UNIX Domain Socket的效力会远高于tcp短衔接,但它只能用于统一台主机间的历程通信,而php运用和后端效劳往往是布置在差别的机械上的,此时可否利用它来举行优化呢?

优化后的浅易架构图如上:

(1) 在php运用效劳器上布置一个local-proxy;

(2) php与local-proxy之间运用UNIX Domain Socket来通信;

(3) local-proxy与后端效劳举行TCP长衔接通信;

如许就大大提升了通信效力,免除了每次要求都要举行的竖立与封闭tcp短衔接的开支

以上就是php历程属于长衔接么的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。