摘要:優化方案啟用,啟用非常簡單在配置文件中加入使用以上的編譯器來編譯安裝包,只有以上編譯出的才會開啟支持。開啟支持,首先在系統中開啟然后開啟的。開啟方法以為例通過命令分配個預留的大頁內存。
優化方案
(1)啟用Zend Opcache,啟用Opcache非常簡單, 在PHP.ini配置文件中加入:
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1
(2)使用GCC4.8以上的編譯器來編譯安裝包,只有GCC4.8以上編譯出的PHP才會開啟Global Register for opline and execute_data支持。
(3)開啟HugePage支持,首先在系統中開啟HugePages, 然后開啟Opcache的hugecodepages。
關于HugePage
操作系統默認的內存是以4KB分頁的,而虛擬地址和內存地址需要轉換, 而這個轉換要查表,CPU為了加速這個查表過程會內建TLB(Translation Lookaside Buffer)。 顯然,如果虛擬頁越小,表里的條目數也就越多,而TLB大小是有限的,條目數越多TLB的Cache Miss也就會越高, 所以如果我們能啟用大內存頁就能間接降低這個TLB Cache Miss。
開啟方法
以CentOS 6.5為例, 通過命令:
sudo sysctl vm.nr_hugepages=128
分配128個預留的大頁內存。
$ cat /proc/meminfo | grep Huge AnonHugePages: 444416 kB HugePages_Total: 128 HugePages_Free: 128 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB
然后在PHP.ini中加入
opcache.huge_code_pages=1
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31033.html
摘要:鳥哥點評相對于主要優化也是在。基于的腳本測試未開啟取平均值取平均值開啟取平均值取平均值在本次測試中,未開啟的情況下,性能比略有提升,開啟之后,比有很大的提升。測試結果和配置參數以及服務器配置有關,僅供對比與的性能。 直播好久沒有曝光量了,自薦一波《PHP進階之路》(PHPer們,好久沒有投資自己了呢?)原文地址 https://mengkang.net/1019.html PHP7.2...
摘要:讓達到最高性能的幾個建議懶得排版了,伯樂在線鏈接原文出處惠新宸歡迎分享原創到伯樂頭條已經發布了,作為十年來最大的版本升級,最大的性能升級,在多放的測試中都表現出很明顯的性能提升,然而,為了讓它能發揮出最大的性能,我還是有幾件事想提醒下。 讓 PHP7 達到最高性能的幾個建議 懶得排版了,伯樂在線鏈接:http://blog.jobbole.com/95657/ 原文出處: 惠新宸(@L...
摘要:配置指令如下共享內存大小這個根據你們的需求可調的內存大小也可調最大緩存的文件數目檢查一次文件更新打開快速關閉打開這個在的時候會收內存的速度會提高不保存文件函數的注釋實際性能對比下面是實際測試中沒有開啟的數據開啟之后的數據 配置指令如下: [opcache] zend_extension=opcache.so opcache.enable_cli=1 ;共享內存大小, 這個根據你們的需...
摘要:業務和架構不分家,架構是建立在對業務的理解之上的。主鍵最好保持順序遞增,隨機主鍵會導致聚簇索引樹頻繁分裂,隨機增多,數據離散,性能下降。沒有索引的更新,可能會導致全表數據都被鎖住。 本博客并非全部原創,其實是一個知識的歸納和匯總,里面我引用了很多網上、書上的內容。也給出了相關的鏈接。 本文涉及的知識點比較多,大家可以根據關鍵字去搜索相關的內容和購買相應的書籍進行系統的學習。不對的地方...
閱讀 2134·2023-04-25 14:56
閱讀 2468·2021-11-16 11:44
閱讀 2703·2021-09-22 15:00
閱讀 1908·2019-08-29 16:55
閱讀 2186·2019-08-29 14:04
閱讀 2313·2019-08-29 11:23
閱讀 3686·2019-08-26 10:46
閱讀 1915·2019-08-22 18:43