Download - Joomla CMS 效能調校
對後端效能有影響的項目
¤ 系統
¤ 簡潔網址的影響很⼤大
¤ 但這幾乎是必備了,很少做這⽅方⾯面優化
¤ GZIP 會使主機負擔變重(但網路傳輸可加速)
¤ MySQL 肯定⽐比 PostgreSQL 等其他資料庫快
¤ 開啟 FTP 會使任何檔案操作都變慢
¤ 選單數量會有微幅影響,但超巨量時才會變慢
對後端效能有影響的項目
¤ 元件
¤ 元件只有在⾃自⼰己的⾴頁⾯面才會有影響,除此之外裝得多影響不⼤大。
¤ 元件⾴頁⾯面使⽤用了幾次 SQL query 是影響最⼤大的部份
¤ MySQL 內資料表有沒有做好正確索引影響也很⼤大
¤ 縮圖程式、抓取站外資料等等也都會變慢
¤ 快取是否有寫的好是重要關鍵
對後端效能有影響的項目
¤ 模組
¤ 同樣,裝的多也不⼀一定會影響效能
¤ 單⼀一⾴頁⾯面出現多少模組的效能影響較⼤大
¤ 其他部分與元件⼀一樣,多少 SQL query 與外部資源都會影響速度。
¤ 快取也同樣可以優化。
對後端效能有影響的項目
¤ 外掛 ¤ 外掛是背景運作,會監聽網站執⾏行事件
¤ 裝的越多影響越⼤大
¤ 若把⽤用不到的關閉,就不會影響了(不⼀一定要移除)
¤ System 群組的外掛數量影響⾼高於其他群組
¤ 因為System⼀一定會載⼊入,其他外掛根據需求才載⼊入
¤ 若有影響,則幾乎每⾴頁都受影響,不像模組只有顯⽰示出來的畫⾯面受影響
對後端效能有影響的項目
¤ 佈景 ¤ 也是重要的影響效能的因素
¤ 但較難改善,因為佈景⼀一定要載⼊入
¤ 雖然各個套件的純「安裝」數量不影響效能,但裝到破千時,「後台」操作效能會變慢(前台讀取受影響有限) ¤ 由於這些概念牽涉到程式本⾝身的核⼼心設計,較難解釋,只能請⼤大家暫時
記住這些規則。
優化後端效能的建議
¤ 主要⺫⽬目的:
¤ 盡可能減少 SQL 執⾏行數量、複雜運算的數量
¤ 能快取,就盡量開快取
¤ 保守快取 – 只快取元件⾴頁⾯面(模組還是會刷新)
¤ 累進快取 – 將模組等等周邊資源通通快取(隨機之類的就失效了)
¤ 全⾴頁快取外掛 – 整個⾴頁⾯面靜態快取下來(超⾼高流量時⽤用)
優化後端效能的建議
¤ 若沒必要,不要打開 Gzip 壓縮
¤ 將css, js, images等資源移到外部空間(S3, imgur.com等) ¤ 降低 Apache 負擔
¤ 流量爆衝時,內容網站可以開啟全靜態快取
¤ 如果可以,盡量⽤用原⽣生⽂文章來取代任何第三⽅方元件 ¤ 原⽣生元件效能是最好的
對前端效能有影響的項目
¤ <head> 內的 CSS & JS 載⼊入數量
¤ ⾴頁⾯面上的圖⽚片數量與⼤大⼩小
¤ Javascript 的程式效能
¤ 無法改變,都是⼈人家寫好的
¤ ⽤用⼾戶端裝的瀏覽器外掛
對前端效能有影響的項目
¤ 內嵌的第三⽅方服務
¤ Youtube, Facebook Like, Twitter, Google+ 等
¤ 此項⺫⽬目影響特別重
¤ 因為等於在⼀一個⾴頁⾯面中多讀取了好幾個網站
¤ 會讓⾴頁⾯面載⼊入時⾮非常頓,無法操作
¤ 瀏覽器對於 css, js 與 DNS 的快取
優化前端效能的建議
¤ 使⽤用圖⽚片 Lazy Loading 外掛 ¤ 滾到的時候才載⼊入進來,⽽而不是⼀一⼝口氣全載⼊入
¤ 預先把圖⽚片縮到適合⼤大⼩小 ¤ 免得上傳⼀一個 5MB 的圖⽚片每次開啟⾴頁⾯面都會載⼊入⼀一次
¤ 或是善⽤用會⾃自動幫你縮圖的套件
¤ 不要裝奇奇怪怪的⼀一堆社群外掛 ¤ 我現在都只留 FB like ⽽而已了
善用 CDN 服務
¤ CloudFlare 可以幫你把網站的靜態⾴頁⾯面快取下來,分散到世界各地,加速存取
¤ 台灣也有 CDN 機房喔
¤ DNS 的解析速度與閘道也有影響
¤ 但不是我們市井⼩小⺠民可以調整的
優化的成本划算嗎?
¤ 花那麼多時間調整效能,成本會不會⽐比直接升級機器⾼高?
¤ ⼀一年遇到幾次流量爆衝?
¤ 網站撐不住會損失收⼊入嗎?
¤ 幫客⼾戶處理還是⾃自⼰己的網站?
¤ 爽度問題還是真的有差?
尋找最有 CP 值的優化方案
¤ 壓縮 CSS, JS 只要簡單裝個外掛 ¤ 效果卻⽐比⾟辛苦調整後端⼤大好幾倍
¤ 網站剛上線,反正也沒⼈人潮~~~ ¤ 流量之後爆了,也是笑著改網站
¤ 善⽤用⾃自動壓縮圖⽚片等⼯工具,省去⼈人⼯工操作的時間