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

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

PHP性能問題解決方法

瀏覽:103日期: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
相關文章:
主站蜘蛛池模板: 灵川县| 高密市| 阳城县| 乃东县| 彩票| 丰台区| 广饶县| 嘉兴市| 博湖县| 临泉县| 望江县| 济宁市| 柳州市| 莱西市| 临清市| 临泉县| 平安县| 夏津县| 哈密市| 陈巴尔虎旗| 宁陕县| 宣化县| 星座| 彭州市| 北宁市| 玛沁县| 辽源市| 井冈山市| 张掖市| 鲜城| 红河县| 金昌市| 白朗县| 定日县| 天等县| 永安市| 平山县| 新竹市| 眉山市| 永清县| 德格县|