久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

PHP性能問題解決方法

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

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

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

解決方法:

多使用PHP內置的變量、常量、函數(shù)。我們用PHP代碼實現(xiàn)的功能和使用PHP內置的函數(shù)實現(xiàn)的同樣功能差別是有的。 b:PHP內置函數(shù)的性能優(yōu)劣。

情況描述

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

建議:

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

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

d:合理使用內存。

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

建議:

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

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

標簽: PHP
相關文章:
主站蜘蛛池模板: 本溪市| 务川| 西贡区| 合山市| 耿马| 济源市| 贵南县| 桐梓县| 高阳县| 高州市| 稻城县| 鄂州市| 安仁县| 牡丹江市| 扶风县| 汕尾市| 通化县| 广东省| 周至县| 清流县| 隆德县| 柳河县| 龙南县| 尼玛县| 嵊州市| 八宿县| 兴仁县| 峨边| 竹溪县| 于田县| 施甸县| 全椒县| 定日县| 茂名市| 宜丰县| 应用必备| 中宁县| 淮阳县| 黑龙江省| 宁陵县| 启东市|