首頁(yè)技術(shù)文章正文

PHP培訓(xùn)性能全面優(yōu)化的幾種方法(下)

更新時(shí)間:2017-05-31 來(lái)源:黑馬程序員PHP培訓(xùn)學(xué)院 瀏覽量:

性能是網(wǎng)站運(yùn)行是否良好的關(guān)鍵因素, 網(wǎng)站的性能與效率影響著公司的運(yùn)營(yíng)成本及長(zhǎng)遠(yuǎn)發(fā)展,編寫出高質(zhì)高效的代碼是我們每個(gè)開發(fā)人員必備的素質(zhì),也是我們良好的職業(yè)素養(yǎng)。

     這篇文章我們繼續(xù)上篇文章繼續(xù)講解。PHP性能如何實(shí)現(xiàn)全面優(yōu)化?


八、數(shù)組


      1)、 多維數(shù)組盡量不要循環(huán)嵌套賦值;
      2)、 使用$array[‘name’]方式訪問(wèn)數(shù)組,禁止$array[name]/$array[“name”]


九、判斷(重要)


1)、 邏輯判斷請(qǐng)優(yōu)先使用switch 的方式,對(duì)于業(yè)務(wù)邏輯相對(duì)較多的情況請(qǐng)選擇if/else,提高代碼的可讀性
     2)、 盡量控制if/else判斷的個(gè)數(shù),如果太多請(qǐng)考慮功能優(yōu)化或代碼優(yōu)化
     3)、 盡量使用恒等用于比較判斷,恒等的效率高于等于,而且還能避免一些類型強(qiáng)制轉(zhuǎn)換的錯(cuò)誤
     4)、 if/else與_&&,單條語(yǔ)句判斷請(qǐng)選擇&&的形式, &&的效率高于if/else,如下 :
                if ($a == 1) {
                    $b = 2;
                 }
               可選擇為($a == 1) && $b = 2;



十、緩存


      1)、 使用php加速器,緩沖opcode
      2)、 例用memcache/nosql
      3)、 使用內(nèi)存數(shù)據(jù)庫(kù)、
      4)、 使用文件緩存
      5)、 緩沖功能


十一、其它


     1)、 少用@符號(hào),嚴(yán)重影響性能
     2)、 適時(shí)關(guān)閉遠(yuǎn)程資源連接如數(shù)據(jù)庫(kù),ftp、socket等,適時(shí)的清理這些資源


十二、 數(shù)據(jù)庫(kù)優(yōu)化(重要)


1)、 合理的商業(yè)需情
     2)、 數(shù)據(jù)庫(kù) schema 架構(gòu)優(yōu)化
     3)、 垂直與水平分庫(kù)分表
     4)、 索引優(yōu)化,查詢優(yōu)化
     5)、 第三方開源檢索工具(sphinx)
     6)、 主從數(shù)據(jù)庫(kù)服務(wù)器的使用。
    



十三、 前端優(yōu)化


     1)、合理的 html 結(jié)構(gòu)
     2)、合理 html 與css 的同時(shí),考慮 Css 設(shè)計(jì)合理,減少 http 請(qǐng)求
     3)、合理 html 與java script 的同時(shí),考慮拆分是否合理,減少 http 請(qǐng)求
     4)、優(yōu)化 java script 代碼,讓用戶有良好的體驗(yàn)
     5)、根據(jù) http 協(xié)議,優(yōu)化高并發(fā)請(qǐng)求


十四、性能檢測(cè)工具(重要)

  

只要在百度上搜索“xxx如何檢網(wǎng)站性能”即可。
     1)、Web Server
     2)、ab
     3)、http_load
     4)、PHP
     5)、apd
     6)、xdebug
     7)、Mysql
     8)、explain
     9)、profiler




本文版權(quán)歸黑馬程序員PHP培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處,謝謝!
作者:黑馬程序員PHP培訓(xùn)學(xué)院
首發(fā):http://php.itheima.com/
分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!