国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

大家須知簡單的php性能優(yōu)化注意點

2024-05-04 23:41:50
字體:
來源:轉載
供稿:網友
通過本文給大家介紹在什么情況下可能遇到性能問題,php性能問題的解決方向及優(yōu)化點,對php性能優(yōu)化注意點相關知識感興趣的朋友一起學習吧
 

什么情況,可能遇到性能問題:

1.php語法使用的不恰當
2.使用php語言做了它不擅長做的事
3.用php語言連接的服務不給力
4.php自身的短板
5.我也不知道的問題

一般情況:php性能問題不超過二分之一(一般30%~40%)

php性能問題解決方向:

php語言級的性能優(yōu)化—>php周邊問題的性能優(yōu)化(連接的服務,網絡環(huán)境)—>php語言自身分析和優(yōu)化

(php語言級)

優(yōu)化點:少寫代碼,多用php自身能力

問題:自寫代碼冗余較多,可讀性不佳,導致性能低
為什么低:php代碼需要編譯解析為底層語言,這一過程每次請求都會處理一遍,開銷大
方法:多使用php內置變量、常量、函數(shù)

優(yōu)化點:php內置函數(shù)的性能優(yōu)劣

情況描述:php內置函數(shù),之間依然存在快慢差異
建議:多去了解php內置函數(shù)的時間復雜度

優(yōu)化點:盡可能少用魔法函數(shù)

情況描述:php提供的魔法函數(shù),性能不佳
為什么性能低:為了為php程序員省事,php語言為你做了很多
好的方法:盡可能規(guī)避使用php魔法函數(shù)

優(yōu)化點:產生額外開銷的錯誤抑制符@

實際邏輯:在代碼開始前,設置報錯級別最高,結束后,再回復設置報錯級別。增加Opcode,忽略報錯

優(yōu)化點:合理使用內存

情況描述:php有內存回收機制保底,但也請小心使用內存
建議:利用unset()及時釋放不適用的內存(注:unset()出現(xiàn)注銷不掉的情況)

優(yōu)化點:盡量少的使用正則表達式

情況描述:正在表達式的回溯開銷較大,“沒有金剛鉆別攬?zhí)沾苫?rdquo;
建議:利用字符串處理函數(shù),實現(xiàn)相同邏輯

優(yōu)化點:避免在循環(huán)內做運算

情況描述:循環(huán)內的計算式將會被重復計算

<?php$str="hello world"; 阿//strlen($str)放在外面for($i=0;$i<strlen($str);$i++){ //do something}?>

優(yōu)化點:減少計算密集型業(yè)務

情況描述:php不適合密集型運算的場景

為什么?php語言特性決定了php不適合做大數(shù)據(jù)量運算
php適合場景:適合銜接Webserver與后端服務、UI呈現(xiàn)

優(yōu)化點:務必使用帶引號字符串做鍵值

情況描述:php會將沒有引號的鍵值當作常量,產生查找常量的開銷
建議:嚴格使用引號作為鍵值

--------------------------------------------

(php周邊問題的性能優(yōu)化)-

運行環(huán)境,文件儲存,數(shù)據(jù)庫,緩存,網絡

減少文件類操作

常見php場景的開銷次序:
讀寫磁盤、讀寫數(shù)據(jù)庫、讀寫內存、讀寫網絡數(shù)據(jù)
讀寫內存<<讀寫數(shù)據(jù)庫<讀寫磁盤<讀寫網絡數(shù)據(jù)

優(yōu)化網絡請求

網絡請求的坑:

1.對方接口的不確定因素

2.網絡穩(wěn)定性

如何優(yōu)化網絡請求?

1、設置超時時間

   a)連接超時  200ms
   b)讀超時    800ms
   c)寫超時    500ms

2、將串行請求并行化

   a)使用curl_multi_*()
   b)使用swoole擴展

壓縮php接口輸出

緩存重復計算內容

  什么情況下做輸出內容的緩存?

多次請求,內容不變情況

重疊時間窗口思想

旁路方案

分析php自身分析和優(yōu)化:

用工具測試

PHP性能瓶頸解決方法:
Opcode cache(代碼編譯的最后一個環(huán)節(jié)進行緩存)PHP擴展APC做Opcode緩存用的

補充壓力測試軟件使用說明:

Ab -h

apache Benchmark(ab)由Apache提供的壓力測試軟件,安裝apache服務器時會自帶該壓測軟件

使用:./ab  -n1000     -c100      http://www.baidu.com/

            -n請求數(shù)   -c并發(fā)數(shù)   url目標壓測地址

以上內容給大家介紹了簡單的php性能優(yōu)化注意點,希望本文分享能夠幫助到大家。



注:相關教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 行唐县| 红河县| 临夏县| 板桥市| 祥云县| 太原市| 右玉县| 永平县| 嘉义市| 稷山县| 云霄县| 昌宁县| 米泉市| 龙胜| 宁城县| 嘉鱼县| 崇阳县| 大余县| 宿州市| 绥化市| 迁安市| 祁东县| 青阳县| 都匀市| 乌兰浩特市| 西充县| 和平区| 黄冈市| 民勤县| 隆化县| 平阳县| 宿松县| 文成县| 台中市| 苗栗县| 微山县| 阜康市| 阜城县| 武清区| 二手房| 阜城县|