国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

PHP性能問題解決方法

瀏覽:145日期:2022-09-11 14:37:27

什么情況之下,會遇到PHP性能問題?1:PHP語法使用不恰當。2:使用PHP語言做了它不擅長的事情。3:使用PHP語言連接的服務不給力。4:PHP自身的短板(PHP自身做不了的事情)。5:我們也不知道的問題?(去探索、分析找到解決辦法,提升開發境界)。

PHP性能問題解決方法對線上站點做壓力測試的時候,我們一定要將請求數和并發數,特別是并發數要設置的比較低,我們不能對線上的網站造成壓力問題,不管是自己的還是別人的。PHP性能問題一般不會超過占整個項目性能的50%,一般在30%~40%。PHP性能問題的解決方向,三個層級。1:PHP語言級的性能優化,指的是PHP語法基本功能,這部分優化比較簡單易見、快速可行,比較快速看到效果。a:少寫PHP的代碼,多用PHP自身能力解決問題。性能問題:自寫代碼冗余較多,可讀性不佳,并且性能低,如代碼很長很長...PHP代碼越長PHP的執行效率越慢。為什么性能低?PHP代碼需要解析編譯為C語言,底層C語言又要編譯成匯編語言機器語言才能執行,這個過程在每次請求過來之后都要處理一遍,所以開銷很大(項目變大的話...)。

解決方法:

多使用PHP內置的變量、常量、函數。我們用PHP代碼實現的功能和使用PHP內置的函數實現的同樣功能差別是有的。 b:PHP內置函數的性能優劣。

情況描述

PHP內置函數之間依然存在快慢差別;少用PHP魔術方法;

建議:

多去了解PHP內置函數的執行實現復雜度。測試方法:比較效率測試,如用microtime()函數,取差值,精確到毫秒級別;Linux的time命令可以查看開銷。c:產生額外開銷的錯誤抑制符號“@”,最好別用(不管是性能優化和項目的健壯性等方面)。

@的邏輯是在代碼前和代碼結束后增加了Opcode,Opcode的作用就是忽略報錯,其實就是相當于增加了error_reporting設置,等級報錯為忽略(vld擴展可以查看被隱藏的Opcode);

d:合理使用內存。

情況描述: PHP有內存回收機制保底,但是也小心使用內存;

建議:

利用unset()及時釋放不使用的內存,比如一些數據庫多余字段(注意:unset()有時會出現注銷不掉的情況)

e:盡量少用正則表達式。情況描述:正則表達式的開銷大,使用起來簡單,但是性能低因為,正則表達式需要回溯;正則表達式越長,回溯的開銷越大,優化正則表達式是需要技術水平的,正則技術不達標,不要亂用正則。f:避免在循環內做運算。情況描述:循環內的計算式將被重復計算(我們在for循環或者while循環,會有重復計算,影響性能問題)。舉例:錯誤用法:$str = 'hello world';for($i = 0; $i < strlen($str); $i ++){ ...}

標簽: PHP
相關文章:
主站蜘蛛池模板: 上蔡县| 奉新县| 女性| 阳曲县| 宁远县| 大方县| 莲花县| 贵德县| 慈利县| 革吉县| 白水县| 天祝| 佳木斯市| 沾化县| 都昌县| 洪洞县| 碌曲县| 临湘市| 灌云县| 伊春市| 锡林浩特市| 三江| 阿合奇县| 建水县| 大城县| 介休市| 巴东县| 泽普县| 祁连县| 浦北县| 保靖县| 克什克腾旗| 柞水县| 萨迦县| 宁蒗| 武夷山市| 泗水县| 临泉县| 昭觉县| 顺昌县| 新郑市|