中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

你知道PHP7怎么開啟opcache用以提高性能嗎-創(chuàng)新互聯(lián)

小編給大家分享一下你知道PHP7怎么開啟opcache用以提高性能嗎,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司是一家專業(yè)從事做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

提高PHP7性能的幾個(gè)tips,第一條就是開啟opcache:

記得啟用Zend Opcache, 因?yàn)镻HP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快,
所以之前測試時(shí)期就發(fā)生了有人一直沒有啟用Opcache的事情

那么什么是Opcache呢?

Opcache 的前生是Optimizer+ ,它是PHP的官方公司 Zend 開發(fā)的一款閉源但可以免費(fèi)使用的 PHP 優(yōu)化加速組件。 Optimizer+ 將PHP代碼預(yù)編譯生成的腳本文件Opcode 緩存在共享內(nèi)存中供以后反復(fù)使用,從而避免了從磁盤讀取代碼再次編譯的時(shí)間消耗。同時(shí),它還應(yīng)用了一些代碼優(yōu)化模式,使得代碼執(zhí)行更快。從而加速PHP的執(zhí)行。

PHP的正常執(zhí)行流程如下

你知道PHP7怎么開啟opcache用以提高性能嗎

request請求(nginx,apache,cli等)-->Zend引擎讀取.php文件-->掃描其詞典和表達(dá)式 -->解析文件-->創(chuàng)建要執(zhí)行的計(jì)算機(jī)代碼(稱為Opcode)-->最后執(zhí)行Opcode--> response 返回

每一次請求PHP腳本都會(huì)執(zhí)行一遍以上步驟,如果PHP源代碼沒有變化,那么Opcode也不會(huì)變化,顯然沒有必要每次都重新生成Opcode,結(jié)合在Web中無所不在的緩存機(jī)制,我們可以把Opcode緩存下來,以后直接訪問緩存的Opcode豈不是更快,啟用Opcode緩存之后的流程圖如下所示:

你知道PHP7怎么開啟opcache用以提高性能嗎

Opcode cache 的目地是避免重復(fù)編譯,減少 CPU 和內(nèi)存開銷。

下面介紹Opcache的安裝

安裝:

1、找到opcache的擴(kuò)展,我的是php7.1yum list php71*
2、安裝擴(kuò)展
yum install php71w-opcache.x86_64

配置:

zend_extension=opcache.so
[opcache]
;開啟opcache
opcache.enable=1  ;CLI環(huán)境下,PHP啟用OPcache
opcache.enable_cli=1;OPcache共享內(nèi)存存儲(chǔ)大小,單位MB
opcache.memory_consumption=128  ;PHP使用了一種叫做字符串駐留(string interning)的技術(shù)來改善性能。例如,如果你在代碼中使用了1000次字符串“foobar”,在PHP內(nèi)部只會(huì)在第一使用這個(gè)字符串的時(shí)候分配一個(gè)不可變的內(nèi)存區(qū)域來存儲(chǔ)這個(gè)字符串,其他的999次使用都會(huì)直接指向這個(gè)內(nèi)存區(qū)域。這個(gè)選項(xiàng)則會(huì)把這個(gè)特性提升一個(gè)層次——默認(rèn)情況下這個(gè)不可變的內(nèi)存區(qū)域只會(huì)存在于單個(gè)php-fpm的進(jìn)程中,如果設(shè)置了這個(gè)選項(xiàng),那么它將會(huì)在所有的php-fpm進(jìn)程中共享。在比較大的應(yīng)用中,這可以非常有效地節(jié)約內(nèi)存,提高應(yīng)用的性能。
這個(gè)選項(xiàng)的值是以兆字節(jié)(megabytes)作為單位,如果把它設(shè)置為16,則表示16MB,默認(rèn)是4MB
opcache.interned_strings_buffer=8;這個(gè)選項(xiàng)用于控制內(nèi)存中最多可以緩存多少個(gè)PHP文件。這個(gè)選項(xiàng)必須得設(shè)置得足夠大,大于你的項(xiàng)目中的所有PHP文件的總和。
設(shè)置值取值范圍最小值是 200,較大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 及之后是 1000000。也就是說在200到1000000之間。
opcache.max_accelerated_files=4000;設(shè)置緩存的過期時(shí)間(單位是秒),為0的話每次都要檢查
opcache.revalidate_freq=60;從字面上理解就是“允許更快速關(guān)閉”。它的作用是在單個(gè)請求結(jié)束時(shí)提供一種更快速的機(jī)制來調(diào)用代碼中的析構(gòu)器,從而加快PHP的響應(yīng)速度和PHP進(jìn)程資源的回收速度,這樣應(yīng)用程序可以更快速地響應(yīng)下一個(gè)請求。把它設(shè)置為1就可以使用這個(gè)機(jī)制了。
opcache.fast_shutdown=1;如果啟用(設(shè)置為1),OPcache會(huì)在opcache.revalidate_freq設(shè)置的秒數(shù)去檢測文件的時(shí)間戳(timestamp)檢查腳本是否更新。
如果這個(gè)選項(xiàng)被禁用(設(shè)置為0),opcache.revalidate_freq會(huì)被忽略,PHP文件永遠(yuǎn)不會(huì)被檢查。這意味著如果你修改了你的代碼,然后你把它更新到服務(wù)器上,再在瀏覽器上請求更新的代碼對應(yīng)的功能,你會(huì)看不到更新的效果
強(qiáng)烈建議你在生產(chǎn)環(huán)境中設(shè)置為0,更新代碼后,再平滑重啟PHP和web服務(wù)器。
opcache.validate_timestamps=0 ;開啟Opcache File Cache(實(shí)驗(yàn)性), 通過開啟這個(gè), 我們可以讓Opcache把opcode緩存緩存到外部文件中, 對于一些腳本, 會(huì)有很明顯的性能提升.這樣PHP就會(huì)在/tmp目錄下Cache一些Opcode的二進(jìn)制導(dǎo)出文件, 可以跨PHP生命周期存在.opcache.file_cache=/tmp

查看phpinfo:

你知道PHP7怎么開啟opcache用以提高性能嗎

測試結(jié)果:

你知道PHP7怎么開啟opcache用以提高性能嗎

同樣的接口從以前的幾百毫秒提升到現(xiàn)在的50ms左右

你知道PHP7怎么開啟opcache用以提高性能嗎

以上是“你知道PHP7怎么開啟opcache用以提高性能嗎”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享文章:你知道PHP7怎么開啟opcache用以提高性能嗎-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://www.rwnh.cn/article14/dghige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣云服務(wù)器、網(wǎng)站維護(hù)網(wǎng)站制作、Google、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
湘潭市| 醴陵市| 铁岭县| 铜梁县| 南阳市| 南陵县| 松阳县| 夏河县| 老河口市| 桓台县| 自治县| 崇明县| 临安市| 井研县| 广汉市| 卢氏县| 四子王旗| 永清县| 旬阳县| 双牌县| 全州县| 彩票| 抚顺县| 运城市| 杭州市| 东安县| 沙雅县| 胶南市| 临城县| 成安县| 喀喇| 汕头市| 营口市| 沛县| 抚松县| 横峰县| 曲松县| 资中县| 广宁县| 通城县| 乐陵市|