自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP高性能應(yīng)用服務(wù)器roadrunner

開(kāi)發(fā) 后端
雖然php一直在努力提升自己的性能,并且php7在性能上得到了大幅的提升,但是因?yàn)槭悄_本語(yǔ)言,因?yàn)槊看螆?zhí)行都需要進(jìn)行解釋,所以php在性能上和編譯語(yǔ)言還是有很大的差距的。

對(duì)于php很多人對(duì)它又愛(ài)又恨,喜歡它的簡(jiǎn)潔,入門上手快,討厭它的性能不夠高。雖然php一直在努力提升自己的性能,并且php7在性能上得到了大幅的提升,但是因?yàn)槭悄_本語(yǔ)言,因?yàn)槊看螆?zhí)行都需要進(jìn)行解釋,所以php在性能上和編譯語(yǔ)言還是有很大的差距的。

[[402068]]

如果php可以每次執(zhí)行不需要重新進(jìn)行解釋,如果php可以讓進(jìn)程常駐內(nèi)存,那么是不是php的性能會(huì)得到大幅提升呢,答案是肯定的,而且現(xiàn)實(shí)中已經(jīng)有解決方案出現(xiàn),它就是現(xiàn)在很多追求性能的php公司都在使用的swoole擴(kuò)展,有了swoole,php可以常駐內(nèi)存,可以直接處理web響應(yīng)請(qǐng)求,php的性能得到巨大提升。

傳統(tǒng)運(yùn)行方式

我們知道傳統(tǒng)的php運(yùn)行方式是通過(guò)php-fpm進(jìn)行管理,然后和nginx進(jìn)行通訊,nginx負(fù)責(zé)處理靜態(tài)資源,而php動(dòng)態(tài)內(nèi)容的處理由nginx分配給php-fpm進(jìn)行處理,而php-fpm選擇相應(yīng)的php進(jìn)程進(jìn)行處理,返回結(jié)果。

roadrunnner運(yùn)行模式

不同于傳統(tǒng)的運(yùn)行模式,roadrunner運(yùn)行模式相當(dāng)于把nginx和php-fpm進(jìn)行了整合,所有的請(qǐng)求直接交給roadrunner進(jìn)行處理,而php進(jìn)程負(fù)責(zé)和roadrunner進(jìn)行通訊。

roadrunner是由golang開(kāi)發(fā)的,我們都知道golang提供了gorutine,它只需要很小的內(nèi)存就可以啟動(dòng)非常多的協(xié)程,這對(duì)于并發(fā)非常有幫助,而使用了roadrunner作為php的服務(wù)器,php又在性能上得到了大幅提升。

roadrunner的優(yōu)點(diǎn)

  • 支持?jǐn)U展
  • 支持http2
  • 跨平臺(tái)
  • 高性能
  • 安裝簡(jiǎn)單
  • 支持隊(duì)列
  • 支持grpc

性能對(duì)比

雖然roadrunner一定程度上提升了php的并發(fā)性,但是和golang以及swoole相比還是有很大的差距的,下面的圖表我們可以看出來(lái),swoole在性能上對(duì)php的提升是非常巨大的。

總結(jié)

既然單純的roadunner還是無(wú)法滿足我們對(duì)性能的要求,那么我們就可以使用swoole+roadrunner的組合來(lái)提升我們應(yīng)用程序的性能。

很多時(shí)候總有人在說(shuō)php是不是過(guò)時(shí)了,php是不是要消亡了,php是不是沒(méi)有學(xué)習(xí)的必要了,我想說(shuō)的是,從目前來(lái)看,php的社區(qū)依然在發(fā)展,php的技術(shù)大會(huì)依然每年都會(huì)召開(kāi),php的版本依然每年都有新的迭代。

一門語(yǔ)言停止前行的唯一原因就是它自己放棄了自己,而php它沒(méi)有放棄自己,它一直在努力改變著自己。有人會(huì)說(shuō)php一直在抄襲模仿,沒(méi)有自己的創(chuàng)新,我們說(shuō)的是,一個(gè)肯不斷接受新知識(shí)的語(yǔ)言永遠(yuǎn)不會(huì)過(guò)時(shí)。

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2009-01-10 19:32:36

2018-12-12 08:40:11

服務(wù)器TomcatJava

2009-02-27 14:25:00

Weblogic應(yīng)用服務(wù)器服務(wù)器管理

2009-04-13 09:03:52

PHPZend中間件

2009-06-16 15:35:20

JBoss應(yīng)用服務(wù)器

2012-02-02 10:24:08

JavaResin

2009-01-16 14:37:57

TomcatWeb服務(wù)器應(yīng)用服務(wù)器

2012-02-23 10:02:08

Web服務(wù)器應(yīng)用服務(wù)器

2014-08-08 16:35:37

應(yīng)用服務(wù)器

2009-05-08 16:38:54

SpringHyperic服務(wù)器

2018-02-07 10:08:02

應(yīng)用服務(wù)器網(wǎng)絡(luò)數(shù)據(jù)庫(kù)

2009-06-18 10:03:57

EquinoxOSGi應(yīng)用服務(wù)器

2012-03-23 09:32:48

應(yīng)用服務(wù)器

2018-05-24 10:15:18

服務(wù)器Session問(wèn)題

2009-06-16 12:02:37

JBoss IPv6

2017-10-17 09:15:06

Web服務(wù)器區(qū)別

2018-03-20 14:24:10

Web服務(wù)器HTTP

2012-03-27 10:31:41

JavaResin

2019-10-23 10:14:24

TomcatJettyGlassFish
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)