溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用opcache優(yōu)化生產(chǎn)環(huán)境PHP

發(fā)布時(shí)間:2021-08-30 09:59:06 來(lái)源:億速云 閱讀:152 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要介紹“如何使用opcache優(yōu)化生產(chǎn)環(huán)境PHP”,在日常操作中,相信很多人在如何使用opcache優(yōu)化生產(chǎn)環(huán)境PHP問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何使用opcache優(yōu)化生產(chǎn)環(huán)境PHP”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

OPcache 通過(guò)將 PHP 腳本預(yù)編譯的字節(jié)碼存儲(chǔ)到共享內(nèi)存中來(lái)提升 PHP 的性能, 存儲(chǔ)預(yù)編譯字節(jié)碼的好處就是 省去了每次加載和解析 PHP 腳本的開銷。

一、php.ini配置opchche示例

[opcache]zend_extension=opcache.so; 開關(guān)打開opcache.enable=1opcache.enable_cli=1;共享內(nèi)存大小, 酌情而定,單位 megabytesopcache.memory_consumption=256      ;interned string的內(nèi)存大小, 也可調(diào)opcache.interned_strings_buffer=8;最大緩存的文件數(shù)目,命中率不到 100% 的話, 可以試著提高這個(gè)值opcache.max_accelerated_files=4000;60s檢查一次文件更新opcache.revalidate_freq=60;打開快速關(guān)閉, 打開這個(gè)在PHP Request Shutdown的時(shí)候  會(huì)收內(nèi)存的速度會(huì)提高opcache.fast_shutdown=1;不保存文件/函數(shù)的注釋opcache.save_comments=0  ; 是否快速關(guān)閉, 打開后在PHP Request Shutdown的時(shí)候回收內(nèi)存的速度會(huì)提高opcache.fast_shutdown=1

二、部分配置參數(shù)說(shuō)明

  • opcache.revalidate_freq 
    這個(gè)配置選項(xiàng)用于設(shè)置緩存的過(guò)期時(shí)間,如果設(shè)置為0,每次請(qǐng)求時(shí),都會(huì)檢查文件是否修改,很耗資源,所以如果暫時(shí)不需要使用opcache,直接把opcache.enable設(shè)置為0即可。

  • opcache.validate_timestamps 
    配置為1時(shí),會(huì)根據(jù)revalidate_freq設(shè)定的值檢查更新代碼;設(shè)置為0時(shí),永不檢查。

當(dāng)需要一次更新大量代碼的時(shí)候,可以設(shè)置為0,上傳全部完成后,再設(shè)置為1。避免上傳代碼造成系統(tǒng)的不穩(wěn)定。

  • opcache.max_accelerated_files 
    真實(shí)的取值是在質(zhì)數(shù)集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一個(gè)比設(shè)置值大的質(zhì)數(shù)。

你可以運(yùn)行 find . -type f -print | grep php | wc -l 這個(gè)命令來(lái)快速計(jì)算你的代碼庫(kù)中的PHP文件數(shù)。

三、推薦配置

開發(fā)模式下推薦,直接禁用opcache擴(kuò)展更好opcache.revalidate_freq=0opcache.validate_timestamps=1opcache.max_accelerated_files=3000opcache.memory_consumption=192opcache.interned_strings_buffer=16opcache.fast_shutdown=1多臺(tái)機(jī)器集群模式或者代碼更新頻繁時(shí)推薦,可以兼顧性能,方便代碼更新opcache.revalidate_freq=300opcache.validate_timestamps=1opcache.max_accelerated_files=7963opcache.memory_consumption=192opcache.interned_strings_buffer=16opcache.fast_shutdown=1穩(wěn)定項(xiàng)目推薦,性能最好opcache.revalidate_freq=0opcache.validate_timestamps=0opcache.max_accelerated_files=7963opcache.memory_consumption=192opcache.interned_strings_buffer=16opcache.fast_shutdown=1

以上內(nèi)容希望幫助到大家,很多PHPer在進(jìn)階的時(shí)候總會(huì)遇到一些問(wèn)題和瓶頸,業(yè)務(wù)代碼寫多了沒(méi)有方向感,不知道該從那里入手去提升,對(duì)此我整理了一些資料,包括但不限于:分布式架構(gòu)、高可擴(kuò)展、高性能、高并發(fā)、服務(wù)器性能調(diào)優(yōu)、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優(yōu)化、shell腳本、Docker、微服務(wù)、Nginx等多個(gè)知識(shí)點(diǎn)高級(jí)進(jìn)階干貨需要的可以免費(fèi)分享給大家

到此,關(guān)于“如何使用opcache優(yōu)化生產(chǎn)環(huán)境PHP”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI