PHP性能分析(二)

在處理完程序員自身寫代碼習(xí)慣層面上的問題后,在項(xiàng)目代碼要跑的環(huán)境上也會(huì)對(duì)項(xiàng)目造成很大的影響,當(dāng)然這部分需要強(qiáng)大的資金作為后盾(服務(wù)器中軟、硬件)

1、會(huì)對(duì)項(xiàng)目性能造成影響的外部原因如下:

在硬件上,硬盤的類型影響讀寫文件的速度,當(dāng)然現(xiàn)在SSD硬盤越來越便宜,對(duì)于服務(wù)器上更換SSD硬盤會(huì)使讀寫文件操作有很大提升;其次,內(nèi)存的大小也會(huì)影響程序跑的是否流暢,我們都知道,非關(guān)系型數(shù)據(jù)庫(kù)等緩存系統(tǒng)都會(huì)直接寫內(nèi)存,那么硬件方面的內(nèi)存也就會(huì)影響到緩存技術(shù)的使用

在軟件上,數(shù)據(jù)庫(kù)是基于文件系統(tǒng)的,雖然我們使用的數(shù)據(jù)庫(kù)按分類應(yīng)該屬于軟件,這就需要數(shù)據(jù)庫(kù)服務(wù)商對(duì)我們使用的數(shù)據(jù)庫(kù)進(jìn)行更新,維護(hù)及性能優(yōu)化,數(shù)據(jù)庫(kù)軟件越好,內(nèi)部處理數(shù)據(jù)時(shí)間越短

那么在實(shí)際開發(fā)過程中,我們往往會(huì)把服務(wù)器上的空間都留給PHP來進(jìn)行跑項(xiàng)目,至于硬盤,內(nèi)存,數(shù)據(jù)庫(kù)等全部都遷移到項(xiàng)目代碼以外的服務(wù)器進(jìn)行管理,這就意味著我們PHP在進(jìn)行讀寫文件,操作數(shù)據(jù)庫(kù),操作緩存等都需要進(jìn)行連接外部的服務(wù)器進(jìn)行,這樣,PHP運(yùn)行的空間大了,但是又會(huì)出現(xiàn)一個(gè)問題,網(wǎng)絡(luò)!不僅要考慮到網(wǎng)絡(luò)是否穩(wěn)定,還要考慮帶寬的大小,網(wǎng)絡(luò)的類型

2、PHP的開銷次序:

讀寫內(nèi)存<讀寫數(shù)據(jù)庫(kù)<讀寫磁盤<讀寫網(wǎng)絡(luò)數(shù)據(jù)

其中建立緩存技術(shù)貌似是最佳的選擇了,當(dāng)然,緩存中的數(shù)據(jù)也是需要從基于文件系統(tǒng)的數(shù)據(jù)庫(kù)來儲(chǔ)存的,所以對(duì)于數(shù)據(jù)庫(kù)的選擇也是必不可少的,最后對(duì)于網(wǎng)絡(luò)數(shù)據(jù)的請(qǐng)求,實(shí)際開發(fā)中會(huì)大量用到,雖然開銷大,但是實(shí)際開發(fā)中很多情況下我們無法不適用網(wǎng)絡(luò)接口來進(jìn)行獲取數(shù)據(jù)

對(duì)于讀寫磁盤,只能說盡可能減少對(duì)文件的操作了,上篇文章已經(jīng)講述過了,PHP不太適合密集型業(yè)務(wù)的處理,盡量減少做PHP不適合的工作,沒有那金剛鉆,不攬那瓷器活,做好自己優(yōu)勢(shì)部分足以,我們可以使用擴(kuò)展或者中間件來進(jìn)行解決

3、讀寫網(wǎng)絡(luò)數(shù)據(jù)造成性能低的原因及處理方案

對(duì)于網(wǎng)絡(luò)數(shù)據(jù)的請(qǐng)求,其實(shí)是通過socket來進(jìn)行,網(wǎng)絡(luò)情況的好壞會(huì)影響到請(qǐng)求是否能跑通,數(shù)據(jù)是否能按時(shí)返回,其次,數(shù)據(jù)提供方數(shù)據(jù)是否正確,符合我們的需求,是否還需要進(jìn)行處理都會(huì)加大請(qǐng)求的時(shí)間

那么,針對(duì)這部分問題,我們?cè)谑褂镁W(wǎng)絡(luò)請(qǐng)求的時(shí)候,盡量較少PHP請(qǐng)求的次數(shù),并且在請(qǐng)求過程中一定要設(shè)置請(qǐng)求時(shí)間,通常情況下我們會(huì)設(shè)置連接超時(shí)時(shí)間,讀超時(shí)時(shí)間,寫超時(shí)時(shí)間來減少請(qǐng)求時(shí)間的總體請(qǐng)求時(shí)間的長(zhǎng)短;其次,將網(wǎng)絡(luò)請(qǐng)求并行化處理,通過PHP自帶的curl_multi,或者通過擴(kuò)展來實(shí)現(xiàn)(swoole),將排隊(duì)請(qǐng)求并行處理。但會(huì)出現(xiàn)一個(gè)問題,數(shù)據(jù)返回時(shí)間會(huì)以時(shí)間最長(zhǎng)的支路為主。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在服務(wù)器端程序開發(fā)領(lǐng)域,性能問題一直是備受關(guān)注的重點(diǎn)。業(yè)界有大量的框架、組件、類庫(kù)都是以性能為賣點(diǎn)而廣為人知。然而...
    零一間閱讀 947評(píng)論 0 12
  • 在服務(wù)器端程序開發(fā)領(lǐng)域,性能問題一直是備受關(guān)注的重點(diǎn)。業(yè)界有大量的框架、組件、類庫(kù)都是以性能為賣點(diǎn)而廣為人知。然而...
    dreamer_lk閱讀 1,104評(píng)論 0 17
  • 看過太多的微博熱門貼,也關(guān)注了很多人氣博主,評(píng)論里不變的總是一些帥哥靚女在推薦自己想要尋一個(gè)男女朋友,可是真的互...
    sh花卷閱讀 843評(píng)論 0 0
  • 有個(gè)詞語叫硬聊,插不上話題吧,被忽視了吧,只能尾隨別人的話題附和吧,大概就是這樣吧! 可能年齡在攀升,...
    玲屋閱讀 203評(píng)論 0 1
  • 雨,像銀灰色黏濕的蛛絲,織成一片輕柔的網(wǎng),網(wǎng)住了整個(gè)秋的世界。天也是暗沉沉的,像古老的住宅里纏滿著蛛絲網(wǎng)的屋頂。那...
    怪r物閱讀 653評(píng)論 0 0

友情鏈接更多精彩內(nèi)容