干貨分享: PHP培訓學習中性能問題解決方法

什么情況下,會遇到PHP性能問題?

1:PHP語法使用不恰當。

2:使用PHP語言做了它不擅長的事情。

3:使用PHP語言連接的服務不給力。

4:PHP自身的短板(PHP自身做不了的事情)。

5:我們也不知道的問題?(去探索、分析找到解決辦法,提升開發境界)。

對線上站點做壓力測試的時候,我們一定要將請求數和并發數,特別是并發數要設置的比較低,我們不能對線上的網站造成壓力問題,不管是自己的還是別人的。

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:合理使用內存。

情況描述:

建議:

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

e:盡量少用正則表達式。

情況描述:

正則表達式的開銷大,使用起來簡單,但是性能低因為,正則表達式需要回溯;正則表達式越長,回溯的開銷越大,優化正則表達式是需要技術水平的,正則技術不達標,不要亂用正則。

f:避免在循環內做運算。

情況描述:

循環內的計算式將被重復計算(我們在for循環或者while循環,會有重復計算,影響性能問題)。

舉例:

錯誤用法:

$str = "hello world";

for($i = 0; $i < strlen($str); $i ++){ ...}

如果你已經決定要學好PHP,找一家靠譜的培訓機構,將會讓你的學習過程事半功倍。

千鋒教育一直秉承“用良心做教育”的理念,致力于打造IT教育全產業鏈人才服務平臺,培養優質人才20000余人,同期在校學員5000余人,合作院校超500所,合作企業超10000家。全國共有十三個校區。

千鋒教育PHP培訓班畢業學員,其平均年薪相比行業平均年薪,足足高出五萬。

千鋒教育采取企業開放場景教學;講師、班主任、項目經理立體管理;名師100%全程面授;打造高級PHP程序員,讓你真正的學有所用。市場的價格就是你的價值。千鋒教育,為你迅速增值。

學習6天——掌握京東、淘寶首頁開發——市場對應薪資3000+;

學習30天——熟練掌握主流電商貼吧技術開發——市場對應薪資5000+;

學習45天——使用框架在阿里云、騰訊云部署博客上線真實項目——市場對應薪資6000+;

學習第七十天——寫框架、用框架、開發微信,獨立完成任意框架開發——市場對應薪資8000+;

學習90天——熟練完成B站、優酷及直播平臺彈幕實現、能夠部署99臺以上的服務器搞秒殺——市場對應薪資10000+。

學習PHP培訓,首選千鋒教育。千鋒教育力造IT培訓領導品牌,學員百分之九十以上都是大專以上學生,力求為你營造最優質的學習環境。千鋒教育現在更有0學費入學、 2周免費試聽、跨學科周末班限時免費送活動, 一次報名,學習雙技能,如同打了五折。歡迎你前來咨詢,試聽。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Composer Repositories Composer源 Firegento - Magento模塊Comp...
    零一間閱讀 3,967評論 1 66
  • PHP 學習目錄 ├─PHP視頻教程 1 LAMP網站構建 │ ├─PHP教程 1.1.1 新版視頻形式介紹│ ...
    曹淵說創業閱讀 16,175評論 29 417
  • 冉冉升起鵝聲 所有鳥雀不喧 水流靜默 我能想到最可愛的場景 透過塵埃之鏡 陽光在樹影下屈服 一對父子的背影 海子的...
    一頁北風閱讀 99評論 12 4
  • J叔漫畫。擅談情感。 對待感情,有人情深意切,有人則難以投入。 是不是有些星座也是這樣呢? 雙子座拿得起放得下,水...
    J叔說星座閱讀 510評論 0 1
  • 宋.方岳 春風多可太忙生, 長共花邊柳外行。 與燕作泥蜂釀蜜, 才吹小雨又須晴。
    雨_蓮閱讀 179評論 0 1