性能是網(wǎng)站運(yùn)行是否良好的關(guān)鍵因素, 網(wǎng)站的性能與效率影響著公司的運(yùn)營成本及長遠(yuǎn)發(fā)展,編寫出高質(zhì)高效的代碼是我們每個開發(fā)人員必備的素質(zhì),也是我們良好的職業(yè)素養(yǎng)。
這篇文章我們繼續(xù)上篇文章繼續(xù)講解。PHP性能如何實(shí)現(xiàn)全面優(yōu)化?
八、數(shù)組
1)、 多維數(shù)組盡量不要循環(huán)嵌套賦值;
2)、 使用$array[‘name’]方式訪問數(shù)組,禁止$array[name]/$array[“name”]
九、判斷(重要)1)、 邏輯判斷請優(yōu)先使用switch 的方式,對于業(yè)務(wù)邏輯相對較多的情況請選擇if/else,提高代碼的可讀性
2)、 盡量控制if/else判斷的個數(shù),如果太多請考慮功能優(yōu)化或代碼優(yōu)化
3)、 盡量使用恒等用于比較判斷,恒等的效率高于等于,而且還能避免一些類型強(qiáng)制轉(zhuǎn)換的錯誤
4)、 if/else與_&&,單條語句判斷請選擇&&的形式, &&的效率高于if/else,如下 :
if ($a == 1) {
$b = 2;
}
可選擇為($a == 1) && $b = 2;十、緩存
1)、 使用php加速器,緩沖opcode
2)、 例用memcache/nosql
3)、 使用內(nèi)存數(shù)據(jù)庫、
4)、 使用文件緩存
5)、 緩沖功能
十一、其它
1)、 少用@符號,嚴(yán)重影響性能
2)、 適時關(guān)閉遠(yuǎn)程資源連接如數(shù)據(jù)庫,ftp、socket等,適時的清理這些資源
十二、 數(shù)據(jù)庫優(yōu)化(重要)1)、 合理的商業(yè)需情
2)、 數(shù)據(jù)庫 schema 架構(gòu)優(yōu)化
3)、 垂直與水平分庫分表
4)、 索引優(yōu)化,查詢優(yōu)化
5)、 第三方開源檢索工具(sphinx)
6)、 主從數(shù)據(jù)庫服務(wù)器的使用。
十三、 前端優(yōu)化
1)、合理的 html 結(jié)構(gòu)
2)、合理 html 與css 的同時,考慮 Css 設(shè)計(jì)合理,減少 http 請求
3)、合理 html 與java script 的同時,考慮拆分是否合理,減少 http 請求
4)、優(yōu)化 java script 代碼,讓用戶有良好的體驗(yàn)
5)、根據(jù) http 協(xié)議,優(yōu)化高并發(fā)請求
十四、性能檢測工具(重要)
只要在百度上搜索“xxx如何檢網(wǎng)站性能”即可。
1)、Web Server
2)、ab
3)、http_load
4)、PHP
5)、apd
6)、xdebug
7)、Mysql
8)、explain
9)、profiler