亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP性能全面優化分享

2020-03-22 17:36:55
字體:
來源:轉載
供稿:網友
  • 一、規范說明

    性能是網站運行是否良好的關鍵因素, 網站的性能與效率影響著公司的運營成本及長遠發展,編寫出高質高效的代碼是我們每個開發人員必備的素質,也是我們良好的職業素養。

    二、影響性能的因素

    A、 商業需求

    1. 需求合理性

    2. 需求與系統的整合

    3. 需求所帶來的商業利益是否與需求開發的成本成正比

    4. 需求所帶來的風險

    B、 Web 服務器

    1. 并發處理能力

    2. 高負載的能力

    3. 負載均衡的能力

    4. 動態內容與靜態內容的處理能力

    5. Web 服務器部署

    C、 DataBase 服務器

    1. 并發訪問

    2. 數據庫服務器的部署

    3. 數據庫的 shema 架構與的表設計是否合理

    4. 數據檢索

    D、 操作系統

    E、 客戶端請求
    F、 程序/語言

    三、分析性能的指標

    1. 程序的運行時間 2

    2. 程序的運行所消耗的內存

    3. 單位時間內的并行處理

    4. 磁盤 IO 的處理

    四、優化性能的目標
    快速、并發、資源消耗低(內存、磁盤 IO、CPU 負載)

    五、優化性能的原則

    1. 服務器配配置最優化

    2. 服務器部署合理化

    3. 商業需求合理并與產出的商業價值成正比

    4. 架構可用、可維護、可擴展

    5. 程序的正確性、簡單性、邏輯的合理性。

    6. 不斷的分析性能的的瓶頸

    7. 不斷的重構已有的代碼

    8. 優化的優先級:program->database->web sersver->os->client

    六、優化

    A、 程序優化

    · 變量

    1、 變量大小,注意變量大小是節約內存的最有效手段,對于來自用戶表單、數據庫和文件緩存的數據都需要控制變量的大小。 因為cpu要處理的數據是來源于內存

    2、 變量有效期,使用unset()函數注銷不需要的變量是一種良好的習慣,將一些不需要的變量立即注銷可提高內存的使用率。

    3、 復制變量,盡量不要復制變量,否則就會帶來1倍的內存消耗,即使復制變量也應該要立即注銷原有變量。

    4、 變量類型,初始化變量請注意其變量類型,一個變量在執行過程中最好只有一種類型狀態。對于數組變量,請初始化聲明,如下: $a = array();

    5、 臨時變量,是處理業務邏輯的臨時存儲,這些都是需要消耗內存的。如果臨時變量使用結束請立即注銷,特別是在一些過程式代碼的執行流程中,對于一些函數,如果業務非常復雜,同樣需要立即注銷臨時變量

    6、 靜態變量,對于一些需要由復雜業務產生的變量,如果在程序的執行過程中多次產生并使用,可考慮使用靜態變量,減少程序的cpu執行次數

    7、 變量的性能:局部變量>html' target='_blank'>全局變量>類屬性>未定義的變量。

    · 循環

    1、 盡量減少循環的次數。
    2、 盡量減少循環的潛逃的層次,不要超過三層。
    3、 避免在循環內有過多的業務邏輯。
    4、 不要循環包含文件
    5、 不要循環執行數據庫操作。
    6、 優先使用foreach,它比for/while效率高
    7、 不要把 count/strlen/sizeof 放到 for 循環的條件語句中 For($i=0,$count=count($array);$i<$count;$i++){} 不要使用for($i=0;$i< span ><>

    8、 for($i=$total;$i>0;$i–){}性能好于for($i=0;$i<$total;$–){}
    9、 保持循環體內的業務邏輯清晰

    · 函數

    1、 函數職責清晰,一個函數只干一件事,不要雜揉過多的業務邏輯
    2、 函數代碼體不要超過20行,反之,考慮拆分。
    3、 優先使用php內置函數
    4、 常量與函數同時能干一件事,優先使用常量。

    · phpversion() < PHP_VERSION

    · get_class() < __CLASS__

    · is_null() < NULL ===

    5、 echo 的性能好于print,輸入多個變量的時候用echo $str,$str1,不用.連接符
    6、 $_SERVER[REQUEST_TIME]替換time();
    7、 字符串替換strtr()->str_replace()->preg_replace()->epreg();
    8、 發揮trim最大功效,替換substr。$filepath=trim($filename,’/’).’/’;
    9、Isset/empty 雖然兩個函數功能有所差異,但在同樣的情況下推薦使用 empty()
    10、isfile/file_exist 兩個函數的功能有所不同,file_exist既可判斷文件是否存在,也可以判斷目錄是否存在,在同樣的情況下推薦使用is_file

    · 文件

    1、 減少文件包含數,減少磁盤 IO
    2、 使用完整路徑,或者容易轉換的相對路徑。避免在 include_path 查找
    3、 文件的代碼行數不要超過 2000 行
    4、Require_once/include_once 效率低于 require/include, 需要額外的去查看系統是否已經調用過這個文件. 因為它們在一個 opcode 緩存下的調用非常慢

    5、程序執行文件用 requie/require_once,緩存文件用include/include_once。Include 效率好于 require
    6、優化 spl 中的文件自動加載機制,可參靠 yii

    7、類庫文件加載,是否考慮類是否已經實例化,可考慮采用設計模式之單例模式
    8、文件讀寫的并發性

    面向對象
    1、 控制實例的創建的數量
    2、 優先使用常量、類常量
    3、 優先例用靜態變量,靜態屬性
    4、 類的結構合理
    5、 面象接口編程
    6、 封裝變化點
    7、 依賴于抽象,不依賴于細節
    8、 優先使用靜態成員
    9、 類的接口清晰穩定,類的職責單一,類與類的通信合理
    10、 使用常量的好處 編譯時解析,沒有額外開銷 雜湊表更小,所以內部查找更快 類常量僅存在于特定「命名空間」,所以雜湊名更短 代碼更干凈,使除錯更方便

    字符串
    1、 用單引號替代雙引號引用字符串;避免檢索字符串中的變量

    運算
    1、 用 i+=1 代替i=i+1。符合c/c++的習慣,效率還高
    2、 ++$i 的效率高于++$i,–$i 同理

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

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

    緩存
    1、 使用php加速器,緩沖opcode
    2、 例用memcache/nosql
    3、 使用內存數據庫、
    4、 使用文件緩存
    5、 緩沖功能 5

    其它
    1、 少用@符號,嚴重影響性能
    2、 適時關閉遠程資源連接如數據庫,ftp、socket等,適時的清理這些資源

    B、 數據庫優化
    1、 合理的商業需情
    2、 數據庫 schema 架構優化
    3、 垂直與水平分庫分表
    4、 索引優化,查詢優化
    5、 第三方開源檢索工具(sphinx)
    6、 主從數據庫服務器的使用。
    C、 Web 服器優化(暫未整理,有相應的 Web 服務器優化手冊)

    D、 操作系統優化(暫未整理,有相應的 OS 優化手冊)

    E、 前端優化
    1、合理的 html 結構
    2、合理 html 與css 的同時,考慮 Css 設計合理,減少 http 請求
    3、合理 html 與java script 的同時,考慮拆分是否合理,減少 http 請求
    4、優化 java script 代碼,讓用戶有良好的體驗
    5、根據 http 協議,優化高并發請求

    七、性能檢測工具

    Web Server

    ab
    http_load
    PHP

    apd
    xdebug
    Mysql

    explain
    profiler


    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    成人xxxx视频| 欧美性猛交xxxx免费看| 成人乱人伦精品视频在线观看| 国产精品激情av在线播放| 亚洲成人黄色网| 欧美精品一区二区三区国产精品| 精品自拍视频在线观看| 美女视频久久黄| 91精品视频在线免费观看| 久久精品国产清自在天天线| 成人午夜高潮视频| 91久久久亚洲精品| 在线成人中文字幕| 国产欧美精品一区二区三区介绍| 欧美激情2020午夜免费观看| 亚洲福利视频在线| 成人伊人精品色xxxx视频| 久色乳综合思思在线视频| 久久久精品国产| 亚洲成人av在线| 日韩av一区二区在线| 久久精品国产2020观看福利| 最近2019中文字幕在线高清| 国产成人jvid在线播放| 一本色道久久综合狠狠躁篇怎么玩| 久久影视三级福利片| 欧美另类69精品久久久久9999| 成人激情黄色网| 欧美裸体视频网站| 日韩欧美在线国产| 精品国产老师黑色丝袜高跟鞋| 欧美自拍视频在线| 国产视频久久久| 精品夜色国产国偷在线| 91精品国产乱码久久久久久久久| 亚洲午夜精品久久久久久性色| 欧洲亚洲在线视频| 日韩小视频网址| 日韩美女免费观看| 久久亚洲影音av资源网| 国产亚洲精品va在线观看| 中文字幕亚洲天堂| 亚洲精品av在线| 亚洲国产一区二区三区四区| 日韩一区二区三区在线播放| 国产精品一香蕉国产线看观看| 亚洲免费av电影| 91超碰caoporn97人人| 欧日韩不卡在线视频| 欧美日韩亚洲成人| 亚洲剧情一区二区| 欧美激情一区二区三区在线视频观看| 91精品视频在线看| 亚洲国产精品va| 欧美午夜激情在线| 91免费的视频在线播放| 成人国产精品一区二区| 欧美精品性视频| 欧美成人中文字幕在线| 97精品国产97久久久久久免费| 久久国产精品久久久久| 国外视频精品毛片| 久久久久免费视频| 日本一区二区三区四区视频| 国产精品丝袜高跟| 97免费视频在线| 欧美大荫蒂xxx| 亚洲男女自偷自拍图片另类| 在线观看亚洲区| 91精品久久久久久久久青青| 日韩中文字幕视频| 日韩毛片中文字幕| 日韩中文字幕免费| 亚洲电影免费观看| 精品少妇v888av| xxx成人少妇69| 伊人久久男人天堂| 国产a∨精品一区二区三区不卡| 亚洲国产欧美精品| 九色精品免费永久在线| 国产伊人精品在线| 亚洲精品白浆高清久久久久久| 日韩a**中文字幕| 国产亚洲激情在线| 啊v视频在线一区二区三区| 欧洲精品在线视频| 亚洲欧美日韩久久久久久| 91高潮精品免费porn| 欧美日韩第一视频| 91精品久久久久久久久久久| 欧美一区二区色| 一区二区三区在线播放欧美| 欧美日本亚洲视频| 亚洲白虎美女被爆操| 成人在线视频网站| 51ⅴ精品国产91久久久久久| 日韩中文字幕精品视频| 成人免费在线网址| 亚洲精品自在久久| 久久久久国产精品免费| 国产色婷婷国产综合在线理论片a| 欧美午夜美女看片| 亚洲国产成人久久| 在线播放日韩av| 亚洲色无码播放| 九九热这里只有精品6| 最好看的2019年中文视频| 色系列之999| 色婷婷**av毛片一区| 欧美电影免费观看高清| 国a精品视频大全| 国产99视频精品免视看7| 国产视频久久久久久久| 国产成人精品最新| 欧美激情第6页| 日产日韩在线亚洲欧美| 欧美电影在线观看完整版| 91精品在线一区| 68精品久久久久久欧美| 亚洲成人av在线播放| 精品久久久久久久久久国产| 九九精品在线播放| 久久精品色欧美aⅴ一区二区| 久久久久久久久久久成人| 久久久久久久久久亚洲| 国产在线98福利播放视频| 992tv成人免费视频| 国产精品极品在线| 日韩成人中文字幕在线观看| 在线视频亚洲欧美| 成人免费在线视频网址| 国产精品一区=区| 亚洲成人av片在线观看| 日本精品视频在线| 中文字幕日韩在线视频| 久久国产精品久久久久久| 88xx成人精品| 日日狠狠久久偷偷四色综合免费| 欧美午夜视频在线观看| 久久最新资源网| 操91在线视频| 4438全国成人免费| 亚洲最大福利视频网| 日韩视频在线一区| 中文字幕精品—区二区| 国产在线999| 欧美日韩在线视频一区| 欧美成人精品一区| 欧美日韩精品在线观看| 亚洲四色影视在线观看| 91免费电影网站| 97国产一区二区精品久久呦| 亚洲欧美日韩第一区| 久久视频在线看| 最新国产成人av网站网址麻豆| 国产日韩欧美中文| 亚洲电影免费观看高清完整版在线| 日韩精品视频免费专区在线播放| 在线看日韩欧美| 国产精品成人va在线观看| 亚洲国产精品系列| 久久中文字幕在线| 国产精品美女视频网站| 国产精品一区二区三|