麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

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

2024-05-04 23:41:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
通過(guò)本文給大家介紹在什么情況下可能遇到性能問(wèn)題,php性能問(wèn)題的解決方向及優(yōu)化點(diǎn),對(duì)php性能優(yōu)化注意點(diǎn)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
 

什么情況,可能遇到性能問(wèn)題:

1.php語(yǔ)法使用的不恰當(dāng)
2.使用php語(yǔ)言做了它不擅長(zhǎng)做的事
3.用php語(yǔ)言連接的服務(wù)不給力
4.php自身的短板
5.我也不知道的問(wèn)題

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

php性能問(wèn)題解決方向:

php語(yǔ)言級(jí)的性能優(yōu)化—>php周邊問(wèn)題的性能優(yōu)化(連接的服務(wù),網(wǎng)絡(luò)環(huán)境)—>php語(yǔ)言自身分析和優(yōu)化

(php語(yǔ)言級(jí))

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

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

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

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

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

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

優(yōu)化點(diǎn):產(chǎn)生額外開銷的錯(cuò)誤抑制符@

實(shí)際邏輯:在代碼開始前,設(shè)置報(bào)錯(cuò)級(jí)別最高,結(jié)束后,再回復(fù)設(shè)置報(bào)錯(cuò)級(jí)別。增加Opcode,忽略報(bào)錯(cuò)

優(yōu)化點(diǎn):合理使用內(nèi)存

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

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

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

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

情況描述:循環(huán)內(nèi)的計(jì)算式將會(huì)被重復(fù)計(jì)算

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

優(yōu)化點(diǎn):減少計(jì)算密集型業(yè)務(wù)

情況描述:php不適合密集型運(yùn)算的場(chǎng)景

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

優(yōu)化點(diǎn):務(wù)必使用帶引號(hào)字符串做鍵值

情況描述:php會(huì)將沒有引號(hào)的鍵值當(dāng)作常量,產(chǎn)生查找常量的開銷
建議:嚴(yán)格使用引號(hào)作為鍵值

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

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

運(yùn)行環(huán)境,文件儲(chǔ)存,數(shù)據(jù)庫(kù),緩存,網(wǎng)絡(luò)

減少文件類操作

常見php場(chǎng)景的開銷次序:
讀寫磁盤、讀寫數(shù)據(jù)庫(kù)、讀寫內(nèi)存、讀寫網(wǎng)絡(luò)數(shù)據(jù)
讀寫內(nèi)存<<讀寫數(shù)據(jù)庫(kù)<讀寫磁盤<讀寫網(wǎng)絡(luò)數(shù)據(jù)

優(yōu)化網(wǎng)絡(luò)請(qǐng)求

網(wǎng)絡(luò)請(qǐng)求的坑:

1.對(duì)方接口的不確定因素

2.網(wǎng)絡(luò)穩(wěn)定性

如何優(yōu)化網(wǎng)絡(luò)請(qǐng)求?

1、設(shè)置超時(shí)時(shí)間

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

2、將串行請(qǐng)求并行化

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

壓縮php接口輸出

緩存重復(fù)計(jì)算內(nèi)容

  什么情況下做輸出內(nèi)容的緩存?

多次請(qǐng)求,內(nèi)容不變情況

重疊時(shí)間窗口思想

旁路方案

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

用工具測(cè)試

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

補(bǔ)充壓力測(cè)試軟件使用說(shuō)明:

Ab -h

apache Benchmark(ab)由Apache提供的壓力測(cè)試軟件,安裝apache服務(wù)器時(shí)會(huì)自帶該壓測(cè)軟件

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

            -n請(qǐng)求數(shù)   -c并發(fā)數(shù)   url目標(biāo)壓測(cè)地址

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



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天天鲁在线视频免费观看 | 销魂美女一区二区 | 视频一区二区三区在线播放 | 西川av在线一区二区三区 | 国产精品高清一区 | 99精品热视频 | 日本视频在线播放 | 中文字幕www| 99精品视频在线观看免费 | 欧美1区2区| 久久精品23 | 午夜视频在线观看免费视频 | 久草在线手机视频 | 亚洲第一色婷婷 | 久久网站免费 | 久久久久久久黄色片 | 草莓视频在线导航 | 国产伊人色 | 国产免费一级淫片 | 免费特黄 | 久久综合九色 | 中文字幕国 | 欧美成人免费小视频 | 黄色网电影 | 午夜视频在线观看91 | 国产精品区一区二区三区 | 激情网站免费观看 | 精品一区二区三区中文字幕 | 一区在线不卡 | 亚洲欧美一区二区三区在线观看 | 国产三级午夜理伦三级 | 亚洲视频成人在线 | 免费久久久久 | 中文字幕综合在线观看 | wankzhd| 亚洲情视频 | 欧美一级毛片大片免费播放 | 在线看免费观看av | 久久老司机精品视频 | 成人免费乱码大片a毛片视频网站 | 国产jjizz一区二区三区视频 |