日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

[譯] 又一個升級到 PHP 7 后性能提升 50% 的案例:Tumblr

瀏覽:205日期:2022-09-11 15:37:15

導讀:PHP 7 發布有一段時間了,業界有一些公司已經嘗試在線上大規模使用這個版本了。 Tumblr 也從 PHP 5 升級到 PHP 7,他們碰到了什么問題,又是怎么處理的,PHP7 這個版本又給 Tumblr 帶來了什么?相關的經歷對類似需求的團隊會有很多啟發 。

在 Tumblr,我們一直在尋找新方法來提高網站的性能。 這意味著在關鍵路徑大量使用緩存,測試新的 CDN 配置或升級底層軟件。

最近,在團隊的努力下,我們將整個 Web 服務器從 PHP 5 升級到 PHP 7,整個升級過程非常有意思,因此通過本文分享如下。

升級的過程

這一切都開始于 2015 年秋天一個 hackday 項目。@oli 和 @trav 在 Tumblr 運行一個 PHP 7 rc 版本。在那時候,很多 PHP 擴展都還不支持PHP 7,但有非官方的分支保證實驗性支持。盡管這樣,Tumblr 已經可以運行在 PHP7 上了!

今年春天,Tumblr 可以更加穩定的運行在 PHP7 上,我們決定開始升級。我們做的第一件事是打包新版本,以便更容易安裝并保證一致。與此同時,我們將內部 PHP 擴展移植到新版本,所以一切都準備好了。

我們編寫了一個可以升級(或降級)服務器的小腳本。然后,在春季及夏季,一直都在運行測試并進行性能監測和評估。隨著時間推移,我們開始在更多開發人員日常使用的機器里運行PHP 7。

最后,在 8 月底,我們對測試結果感到滿意,于是將 PHP 7 替換到我們一小部分生產服務器。兩個星期后,所有線上服務器都已更新到 PHP7。

測試與持續集成

當進行這樣的升級時,用測試以確保代碼正確運行是非常重要的,我們有幾個方法。

在這個項目中,我們使用 Phan 尋找代碼庫中與 PHP 7 不兼容的代碼。

Phan:https://github.com/etsy/phan

我們還有一套單元和集成測試,幫助我們識別有問題的模塊。 由于項目開發還在進行中,我們需要確保沒有添加 PHP7 不兼容的新代碼,所以我們設置了持續集成的任務,同時在 PHP5 和 PHP7 環境下運行所有測試。

升級結果

最終的結果是什么? 性能和語言特性對我們來說是最重要的兩個結果。

性能

當我們在第一批服務器上運行 PHP7 時,我們非常密切地關注各種性能監控圖表,以確保運行順利。 正如我們上面提到的,我們正在進行性能改進,實際上的升級結果是非常驚人的, 延遲減少一半,并且服務器上的 CPU 負載降低了 50% 或者更多 。不但頁面響應速度提高了一倍,而且只使用了一半的 CPU 資源。

[譯] 又一個升級到 PHP 7 后性能提升 50% 的案例:Tumblr [譯] 又一個升級到 PHP 7 后性能提升 50% 的案例:Tumblr

這些是來自我們的API服務器的圖。 如您所見,延遲下降到不到一半,峰值負載平均值現在低于之前的最低點!

語言特性

除此之外,PHP 7 也帶來了很多有趣的新功能。 一些亮點是:

標量類型提示:PHP 歷史版本在類型安全方面相當差,PHP 7 引入標量類型提示( Scalar type ),確保傳遞的值符合特定類型(字符串,bool,int,float等)。

返回類型聲明:現在,使用 PHP 7,函數可以有顯式返回類型。 這減少了對樣板代碼和手動檢查函數返回值的需求。

匿名類:與匿名函數(閉包)非常類似,匿名類在運行時構建,可以模擬類/接口甚至擴展其他類。 這些對于像日志類這樣的實用對象非常有用,并且在單元測試中非常有用。

各種安全和性能增強。

總結

PHP7 相當棒。

以下是國外網站一些網友評論。

jsjohnst :

我沒有參與這個升級過程,但在基于我對 Tumblr(過去在那里工作了 3 年)代碼庫的了解,以及個人對 PHP 的背景(一直是 PHP 貢獻者?13 年),性能提升有 95% 的可能性與 PHP7 相關。 Chorus (Tumblr 內部基于的框架) 中使用的許多模式和在代碼庫,都會在 PHP7 內部的變化中受益匪淺。

tyingq:

從 PHP5.x 切換到 PHP7 時,在響應時間,TPS 和內存使用方面的顯著改進

https://www.symfony.fi/entry/symfony-benchmarks-php-56-hhvm-and-php-7

uses:

我們使用的 PaaS 云平臺最近升級了一個 PHP 7。

對于運行 Bolt 的網站(一個PHP CMS,它大量使用自動加載類),我們看到性能提高了 45% ~ 55%。 對于 Wordpress,它是約 30 ~ 40%。

bkanber :

我覺得也可能是因為 PHP7 默認啟用了 opcache,而之前并沒有啟用。

也就是說,更快的解析器和 intepreter 也會做更快的自動加載,所以即使不是opcache,也可能是憑借自動加載類被解釋得更快。

nikic:

我們在 7.1 版中 perf 顯示在實際應用中沒有看到顯著的收益(對計算密集型代碼有一些改進,比如循環中的計算)。

JIT 是否會對應用程序帶來重大改進尚不清楚,我們希望如此。

boulos:

對,我很久以前也對比過,大多數的性能改進來自于運行時的 C 代碼改進,比如在實際運行的系統中,產生較少的字符串副本非常關鍵。這是你在 PHP 7 改進中首先看到的。

使用 PHP 從字節碼解釋器生成 x86 機器碼將意味著在你不結束“跳出”的地方,你應該看到更接近 C 代碼性能(JavaScript,Python 等同樣如此)。PHP7 的標量類型提示和其他一些小調整(有意義的)應該使 jit 編程一個更容易的任務(對比從 PHP 5.4 到 PHP7)。類型推理是非常有效的,在實踐中(見Paul Biggar對此的優秀論文),在 PHP 程序中確實沒有那么多的多態性。函數的參數通常有一個或兩個類型,或者它們實際上是多態的并有跟多的變體。

progforlyfe

沒錯,最大的性能改進是來自類似 JIT 改進, 跟 HHVM 所做的工作類似。

tiffanyh:

我很困惑,PHP 7 現在沒有 JIT,但它的性能已經與 HHVM(它有JIT)一致。

然后就是說 PHP 8(與JIT)將顯著快于 HHVM?

TazeTSchnitzel :

未必,這可能意味著很多 HHVM 的性能改進與 JIT 無關。

來自:http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547882&idx=1&sn=12512269ddb4743c6c7978277643d28b&chksm=813a7cf2b64df5e406ad8ebee973da19d330b3785a134af577883e5f725fa28884d070ed9cf7&mpshare=1&scene=1&srcid=1115vhT3jmCZQ5qd7jtLKtf6&from=groupmessage&isappinstalled=0

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧洲av不卡| 日韩精品一卡二卡三卡四卡无卡| 最新亚洲国产| 婷婷精品久久久久久久久久不卡| 中文字幕av亚洲精品一部二部 | 久久亚洲国产精品尤物| 精品亚洲成人| 在线日韩一区| 亚洲制服一区| 欧美黑人巨大videos精品| 国产中文在线播放| 亚洲欧美综合| 97成人超碰| 国产日韩电影| 丝袜亚洲另类欧美| 国产欧美日韩一区二区三区四区| 久久伊人久久| 亚洲深夜影院| 久久精品一区| 国产精品婷婷| 久久不见久久见中文字幕免费| 麻豆成全视频免费观看在线看| 亚洲少妇诱惑| 久久永久免费| 免费观看在线综合色| 国产精品国码视频| 在线看片不卡| 久久精品女人| 蜜臀精品一区二区三区在线观看| 久久99久久久精品欧美| 午夜欧美视频| 国产精品网址| 久久国产电影| 日韩精品亚洲专区| 日韩一区电影| 亚洲区国产区| 97精品97| 亚洲欧美网站在线观看| 成人片免费看| 欧美精品国产一区| 亚洲美洲欧洲综合国产一区| 久久久国产精品网站| 丝袜亚洲另类欧美| 国产成人精选| 日韩精品一区二区三区免费视频 | 日本午夜精品久久久久| 色婷婷精品视频| 国产欧美日韩一级| 久久不射中文字幕| 日韩三区免费| 国产精品啊v在线| 亚洲精选av| 亚洲手机在线| 高潮久久久久久久久久久久久久| 日本免费一区二区视频| 婷婷精品进入| 成人污污视频| 日韩成人在线看| 欧美日韩免费观看一区=区三区| 国产伦理一区| 久久亚洲二区| 欧美一区二区三区高清视频 | 亚洲人妖在线| 国产一区二区三区自拍| 精品色999| 久久精品超碰| 亚洲精品系列| 日韩一级不卡| 欧美中文字幕一区二区| 国际精品欧美精品| 国产精品午夜av| 日韩激情精品| 亚洲1区在线| 三级精品视频| 伊人久久在线| 91亚洲自偷观看高清| 麻豆精品久久| 久久av资源| 国产激情精品一区二区三区| 日韩欧美美女在线观看| 国产精品腿扒开做爽爽爽挤奶网站| 97人人精品| 丰满少妇一区| 国产成人精选| 亚洲国产福利| 免费在线小视频| 日韩国产一区| 99精品一区| 成人日韩在线观看| 99久久久久国产精品| 久久在线视频免费观看| 久久香蕉国产| 美女网站一区| 欧美日韩四区| av不卡免费看| 蜜臀av性久久久久蜜臀aⅴ流畅 | 91精品观看| 亚洲经典在线| 亚洲网址在线观看| 欧美一级二级三级视频| 国产精品伦一区二区| 日韩一区二区三区高清在线观看 | 1024精品久久久久久久久| 国产91精品对白在线播放| 日韩黄色大片网站| 日韩在线短视频| 激情综合自拍| 亚洲欧美网站| 日韩欧美另类中文字幕| 欧美天堂一区二区| 久久午夜影院| 久久一区二区三区电影| 免费不卡中文字幕在线| 中文日韩在线| 欧美一级专区| 久久精品99国产精品| 免费精品一区| 久久久9色精品国产一区二区三区| 在线日韩中文| 亚洲a级精品| 美腿丝袜在线亚洲一区| 美女一区网站| 中文字幕一区二区三区在线视频| 久久精品72免费观看| 成人亚洲一区| 国产亚洲精品v| 久久狠狠亚洲综合| 国产欧美一区二区三区精品酒店| 免费成人网www| 中文字幕一区二区av| 国产一区二区久久久久| 最新日韩av| 国产精品中文字幕亚洲欧美| 伊人久久在线| 蜜臀久久久久久久| 欧美国产精品| 欧美精品一卡| 国产精品1luya在线播放| 久久免费高清| 日韩精选在线| 精品欧美一区二区三区在线观看| 亚洲一区国产一区| 久久精品系列| 亚洲在线免费| 国产亚洲电影| 国产韩日影视精品| 欧美日韩一区二区三区在线电影| 日韩精品专区| 日韩高清一区在线| 欧产日产国产精品视频| 日韩影片在线观看| 999久久久国产精品| 国产麻豆一区二区三区| 日韩一级不卡| 国产精品久久久久久久久妇女| 久久国产精品久久w女人spa| 国产91在线精品| 日韩国产在线观看| 99久久婷婷| 青草久久视频| 五月天久久久| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 精品国产乱码久久久久久樱花| 尤物精品在线| 福利一区二区| 国产精品男女| 蜜桃视频在线观看一区| 国产麻豆一区二区三区精品视频| japanese国产精品| 国产精品yjizz视频网| 日本一区福利在线| 欧美大黑bbbbbbbbb在线| 精品视频网站| 日韩高清三区| 免费在线视频一区| 蜜桃一区二区三区| 色网在线免费观看| 久久国产精品美女| 日韩在线网址| 性欧美长视频| 91超碰国产精品| 久久久久久美女精品| 精品一区二区三区亚洲 | 麻豆精品91| 婷婷激情综合| 群体交乱之放荡娇妻一区二区| 麻豆高清免费国产一区| 欧美日韩夜夜| 亚洲精一区二区三区| 久久亚洲不卡| 噜噜噜久久亚洲精品国产品小说| 五月天久久久| 日韩午夜电影| 一区二区自拍| 999久久久国产精品| 麻豆mv在线观看| 在线天堂资源www在线污| 国产精品久久久久久久久妇女| 国产精品a级| 久久精品免费一区二区三区|