中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php性能優化

發布時間:2020-07-11 22:44:18 來源:網絡 閱讀:415 作者:m203050329 欄目:web開發

1, 多用php提供的內置函數


php解釋成 opcode來執行,內置函數使代碼更少


2,不同的內置函數的機制不一樣,性能也不一樣, 比如 isset array_has_key

如何來測試,php腳本執行的時間呢?用 time 命令, time php 11.php


3,php的執行過程

*.php ->通過zend引擎scanner后,保存為zend引擎可以識別的語法exprs

然后解析(parser)成opcodes, 然后執行,最后輸出


掃描 轉碼 解析 執行 


直接用內置函數,在掃描的階段,就省了很多, 在zend引擎識別語法,,的時候,內置的也是比自己寫的快, 最后生成的


opcodes 也是比自己實現的opcodes要少。


4,少用魔術方法,能不用就不用


5,php -dvld.active=1 -dvld.execute=0 11.php

安裝完php的 dvld擴展后,可以用這個命令,來查看,php解釋后生成的opcode代碼。


例如 @ 忽略錯誤,這個是在代碼執行前,生成把錯誤提示忽略,代碼執行后,把錯誤提示再打開,增加了多余的開銷,所以盡


量少用。


6,合理使用內存,建議大的數組用unset()及時釋放不適用的內存(注:unset()出現注銷不掉的情況)。


7,減少計算密集型業務


8,數組的key必須用引號括起來,否則或先去查找defind的變量



9,常見php場景的開銷次序

讀寫內存  讀寫數據庫 讀寫磁盤 讀寫網絡數據

盡量避免從磁盤寫入 讀寫一個文件,或者網絡不穩定的數據。 盡量多的用讀寫數據庫 讀寫內存


10,減少php發起的網絡請求

(1),對方接口的不確定因素

(2),網絡穩定性

優化方法:

(1),設置超時事件

a),鏈接超時,不超過200毫秒

b),讀超時,800毫秒

c),寫超時,500ms

(2),將串行請求并行化

a),使用curl_multi_*(),雖然并行了,但是多個并行請求的中間有一個慢了,那就需要等帶最慢的請求完


b),使用swoole擴展(開源的并行網絡請求框架)



11,壓縮php輸出的利與弊

用Gzip即可

利:利用我們的數據輸出,client端能更快的獲取數據

弊:額外的服務端cpu , client的cpu的開銷


12,php緩存復用

多次請求,內容不變的情況


13,smarty 調優和重疊時間窗口思想

開啟smarty開啟caching


14,串行方案最慢, 重疊時間窗口思想  旁路方案

類似,初中課文中說的,統籌方法。


15,XHPorf 工具,facebook的php性能分析工具


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

治多县| 新津县| 柞水县| 慈利县| 金平| 昭通市| 乌兰察布市| 松原市| 安庆市| 五峰| 松溪县| 道真| 红安县| 五原县| 浮梁县| 鄂州市| 双鸭山市| 民县| 鹤岗市| 哈密市| 龙山县| 阿拉尔市| 南部县| 高平市| 永清县| 雷波县| 青神县| 天峻县| 新河县| 庐江县| 潜山县| 安徽省| 东乡县| 安溪县| 盐山县| 务川| 上思县| 英德市| 灌云县| 宝坻区| 北流市|