PHP優化 從語言到業務

2021-09-08 04:55:50 字數 753 閱讀 4912

經常有人說php速度慢,其實語言層面的速度差異和實際的業務相比,不在乙個數量級。

業務的瓶頸往往在於io,而不是cpu。

單引號和雙引號 單引號不解析字串裡的變數,而雙引號會解析,如果需要大量處理字串,建議用單引號和字串連線符"."

=== 和 == "=="會進行型別轉換,比如"1"和1 ,用"=="為真,而"==="為假,如果型別相同的話,使用"=="。

合理使用靜態變數,如儲存函式中只需要初始化一次的資料

區域性變數優於全域性變數

輸出快取控制 ob_***系列函式

php7 針對專案單獨優化 可參看鳥哥的文章

使用php7 增加變數的引數型別,減少型別轉換

合理使用多執行緒和協程

網上有很多,可以參加這篇文章

利用第三方服務,可以把php不擅長的委託出去

可以選擇簡潔的框架,減少框架內部的消耗,如slim,phalocn,yaf
opcache、apc等
使用擴充套件,如把cpu密集型的改用c/c++開發擴充套件,可以使用php-cpp,或者php-x

輔助開發。

linux系統優化,參考這篇文章

使用負載均衡,部署多台伺服器

通過跑測試來判斷瓶頸所在,再分別優化

增大記憶體

資料庫io

使用快取

把相關**用c/c++改寫為擴充套件

如oneapm,聽雲、博瑞等,或者開源的tideways

php從入門到使用

1,php中文網 2,php插入到html中 只要php 使用包裹,都可以嵌入到html中 3,變數使用 開頭,eg obj 3 4,php的內建函式不區分大小寫 echo和echo是乙個意思 但是變數區分 5,php支援8種資料型別 4種標量型別 布林型boolean 整形integer 浮點型f...

從C語言到C 語言

c 讀作 c加加 是 c plus plus 的簡稱。顧名思義,c 是在c語言 的基礎上增加新特性。從語法上看,c語言是 c 的一部分,c語言 幾乎不用修改就能夠以 c 的方式編譯。對於c和c 的關係,有很多種說法,新人很容易認為c 是c的公升級版,c 比c要高階,c 高大上,c過時了,這種想法不一...

優化器 從SGD到 Adam

所有的優化器都是可以套進這個基本框架的。這裡的e指的是單位矩陣。sgd 沒有動量概念,因為一階動量就是當前梯度,二階梯度就是單位矩陣。缺點 容易陷入區域性最優。由於sgd只考慮當前時刻的梯度,在區域性最優點的當前梯度為0。由計算公式可知,此時引數不再進行更新,故陷入區域性最優的狀態。顯而易見,引入歷...