搜尋
首頁後端開發PHP7了解最佳化PHP7效能的幾個設置

本篇文章帶大家了解幾個優化PHP7效能的設定。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

了解最佳化PHP7效能的幾個設置

PHP7已經發布了, 作為PHP10年來最大的版本升級, 最大的性能升級, PHP7在多放的測試中都表現出很明顯的性能提升, 然而, 為了讓它能發揮最大的性能, 我還是有幾件事想提醒下.

#PHP7 VS PHP5.6

1. Opcache

記得啟用Zend Opcache, 因為PHP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快, 所以之前測試時期就發生了有人一直沒有啟用Opcache的事情. 啟用Opcache非常簡單, 在php .ini設定檔中加入:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"

2. 使用新的編譯器

使用新一點的編譯器, 推薦GCC 4.8以上, 因為只有GCC 4.8以上PHP才會開啟Global Register for opline and execute_data支援, 這個會帶來5%左右的效能提升(Wordpres的QPS角度衡量)

其實GCC 4.8以前的版本也支援, 但是我們發現它支援的有Bug, 所以必須是4.8以上的版本才會開啟這個特性.

3. HugePage

我之前的文章也介紹過: 讓你的PHP7更快之Hugepage , 首先在系統中開啟HugePages, 然後開啟Opcache的huge_code_pages.

以我的CentOS 6.5為例, 透過:

$sudo sysctl vm.nr_hugepages=512

分配512個預留的大頁記憶體:

$ cat /proc/meminfo  | grep Huge
AnonHugePages:    106496 kB
HugePages_Total:     512
HugePages_Free:      504
HugePages_Rsvd:       27
HugePages_Surp:        0
Hugepagesize:       2048 kB

然後在php.ini中加入:

opcache.huge_code_pages=1

這樣一來, PHP會把自身的text段, 以及內存分配中的huge都採用大內存頁來保存, 減少TLB miss, 從而提高性能.

# 4. Opcache file cache

開啟Opcache File Cache(實驗性), 透過開啟這個, 我們可以讓Opcache把opcode快取快取到外部文件中, 對於一些腳本, 會有很明顯的效能提升.
在php.ini加入:

opcache.file_cache=/tmp

這樣PHP就會在/tmp目錄下Cache一些Opcode的二進位匯出檔, 可以跨PHP生命週期存在.

#5. PGO

我之前的文章: 讓你的PHP7更快(GCC PGO) 也介紹過, 如果你的PHP是專門為一個專案服務, 例如只是為你的Wordpress, 或者drupal, 或者其他什麼, 那麼你就可以嘗試透過PGO, 來提升PHP, 專門為你的這個專案提高效能.

具體的, 以wordpress 4.1為優化場景.. 首先在編譯PHP的時候首先:

$ make prof-gen

然後用你的專案訓練PHP, 例如對於Wordpress:

$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null

也就是讓php-cgi跑100遍wordpress的首頁, 從而產生一些在這個過程中的profile訊息.

最後:

$ make prof-clean$ make prof-use && make install

這時候你編譯得到的PHP7就是為你的專案量身打造的最高效能的編譯版本.

#暫時就這麼多吧, 以後想起來再加,歡迎大家嘗試, thanks

推薦學習:php影片教學

以上是了解最佳化PHP7效能的幾個設置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器