Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Joomla CMS 效能調校

1,013 views

Published on


2015 - Joomla Party #12

若有任何 Joomla 應用上的需求,歡迎洽詢: http://simular.co/

Published in: Internet
  • Be the first to comment

Joomla CMS 效能調校

  1. 1. Joomla CMS 效能調校 2015 - Joomla Party #12 Simon Asika
  2. 2. 關於效能 ⾸首先,我們要知道效能分成 「前端」與「後端」,還有「網路」
  3. 3. 後端效能
  4. 4. 前端效能
  5. 5. 網路的影響
  6. 6. 關於後端效能 ¤  ⼤大多在 300ms 到 900ms 之間。 ¤  跟安裝的套件有關,套件越多、越複雜,則效能越差。 ¤  對主機端 CPU 壓⼒力較⼤大 ¤  可以靠「快取」來優化
  7. 7. 關於前端效能 ¤  ⼤大多可以達到 2sec ~ 15sec ¤  對客⼾戶端 CPU 壓⼒力較⼤大 ¤  是訪客最有感覺的部分 ¤  優化的效果也最明顯
  8. 8. 關於網路連線效能 ¤  選擇合適的主機商(台灣 > 東京 > 美國) ¤  DNS 解析與⾃自家網路也有影響 ¤  尖峰時段也會受影響
  9. 9. 優化效能的目的 ¤  快,是其次,現在的網路與機器都很快了 ¤  多,才是⺫⽬目的 ¤  當流量越來越⾼高時,效能好的網站才能撐住更多⼈人潮
  10. 10. 如何優化後端效能
  11. 11. 對後端效能有影響的項目 ¤  系統 ¤  簡潔網址的影響很⼤大 ¤  但這幾乎是必備了,很少做這⽅方⾯面優化 ¤  GZIP 會使主機負擔變重(但網路傳輸可加速) ¤  MySQL 肯定⽐比 PostgreSQL 等其他資料庫快 ¤  開啟 FTP 會使任何檔案操作都變慢 ¤  選單數量會有微幅影響,但超巨量時才會變慢
  12. 12. 對後端效能有影響的項目 ¤  元件 ¤  元件只有在⾃自⼰己的⾴頁⾯面才會有影響,除此之外裝得多影響不⼤大。 ¤  元件⾴頁⾯面使⽤用了幾次 SQL query 是影響最⼤大的部份 ¤  MySQL 內資料表有沒有做好正確索引影響也很⼤大 ¤  縮圖程式、抓取站外資料等等也都會變慢 ¤  快取是否有寫的好是重要關鍵
  13. 13. 對後端效能有影響的項目 ¤  模組 ¤  同樣,裝的多也不⼀一定會影響效能 ¤  單⼀一⾴頁⾯面出現多少模組的效能影響較⼤大 ¤  其他部分與元件⼀一樣,多少 SQL query 與外部資源都會影響速度。 ¤  快取也同樣可以優化。
  14. 14. 對後端效能有影響的項目 ¤  外掛 ¤  外掛是背景運作,會監聽網站執⾏行事件 ¤  裝的越多影響越⼤大 ¤  若把⽤用不到的關閉,就不會影響了(不⼀一定要移除) ¤  System 群組的外掛數量影響⾼高於其他群組 ¤  因為System⼀一定會載⼊入,其他外掛根據需求才載⼊入 ¤  若有影響,則幾乎每⾴頁都受影響,不像模組只有顯⽰示出來的畫⾯面受 影響
  15. 15. 對後端效能有影響的項目 ¤  佈景 ¤  也是重要的影響效能的因素 ¤  但較難改善,因為佈景⼀一定要載⼊入 ¤  雖然各個套件的純「安裝」數量不影響效能,但裝到破千時,「後 台」操作效能會變慢(前台讀取受影響有限) ¤  由於這些概念牽涉到程式本⾝身的核⼼心設計,較難解釋,只能請⼤大家暫時 記住這些規則。
  16. 16. 優化後端效能的建議 ¤  主要⺫⽬目的: ¤  盡可能減少 SQL 執⾏行數量、複雜運算的數量 ¤  能快取,就盡量開快取 ¤  保守快取 – 只快取元件⾴頁⾯面(模組還是會刷新) ¤  累進快取 – 將模組等等周邊資源通通快取(隨機之類的就失效了) ¤  全⾴頁快取外掛 – 整個⾴頁⾯面靜態快取下來(超⾼高流量時⽤用)
  17. 17. 優化後端效能的建議 ¤  保持⾴頁⾯面整潔 ¤  不要塞滿模組與外掛 ¤  控制選單數量 ¤  影響真的很少啦,不要緊張 ¤  慎選套件 ¤  有些元件本⾝身效能就不好(如K2),這是末端很難優化的
  18. 18. 優化後端效能的建議 ¤  若沒必要,不要打開 Gzip 壓縮 ¤  將css, js, images等資源移到外部空間(S3, imgur.com等) ¤  降低 Apache 負擔 ¤  流量爆衝時,內容網站可以開啟全靜態快取 ¤  如果可以,盡量⽤用原⽣生⽂文章來取代任何第三⽅方元件 ¤  原⽣生元件效能是最好的
  19. 19. 如何優化前端效能
  20. 20. 對前端效能有影響的項目 ¤  <head> 內的 CSS & JS 載⼊入數量 ¤  ⾴頁⾯面上的圖⽚片數量與⼤大⼩小 ¤  Javascript 的程式效能 ¤  無法改變,都是⼈人家寫好的 ¤  ⽤用⼾戶端裝的瀏覽器外掛
  21. 21. 對前端效能有影響的項目 ¤  內嵌的第三⽅方服務 ¤  Youtube, Facebook Like, Twitter, Google+ 等 ¤  此項⺫⽬目影響特別重 ¤  因為等於在⼀一個⾴頁⾯面中多讀取了好幾個網站 ¤  會讓⾴頁⾯面載⼊入時⾮非常頓,無法操作 ¤  瀏覽器對於 css, js 與 DNS 的快取
  22. 22. 優化前端效能的建議 ¤  壓縮 CSS, JS 成單⼀一檔案 ¤  效果顯著 (21 requests 減少到 4 requests, 1.2sec --> 700ms)
  23. 23. 優化前端效能的建議 ¤  使⽤用圖⽚片 Lazy Loading 外掛 ¤  滾到的時候才載⼊入進來,⽽而不是⼀一⼝口氣全載⼊入 ¤  預先把圖⽚片縮到適合⼤大⼩小 ¤  免得上傳⼀一個 5MB 的圖⽚片每次開啟⾴頁⾯面都會載⼊入⼀一次 ¤  或是善⽤用會⾃自動幫你縮圖的套件 ¤  不要裝奇奇怪怪的⼀一堆社群外掛 ¤  我現在都只留 FB like ⽽而已了
  24. 24. 優化前端效能的建議 ¤  使⽤用 Google 網站效能檢測 ¤  https://developers.google.com/speed/pagespeed/insights/
  25. 25. 如何優化網站連線效能
  26. 26. 選擇連線快速的主機 ¤  台灣中電信主機最快 ¤  但⼤大家都知道的:貴 ¤  功能通常輸國外⼀一截 ¤  美國主機較便宜 ¤  但速度⽐比國內主機慢了三倍以上 ¤  東京主機通常是折衷⽅方案
  27. 27. 善用 CDN 服務 ¤  CloudFlare 可以幫你把網站的靜態⾴頁⾯面快取下來,分散到世界 各地,加速存取 ¤  台灣也有 CDN 機房喔 ¤  DNS 的解析速度與閘道也有影響 ¤  但不是我們市井⼩小⺠民可以調整的
  28. 28. 用戶的網路環境也很重要 ¤  台灣........ ¤  就認命吧 ¤  學網連中華電信機房快的破表 ¤  連國外就超慢 ¤  所以幫學校做網站千萬別⽤用美國主機
  29. 29. 我們真的這麼需要優化效能嗎?
  30. 30. 優化的目的是什麼? ¤ 增加讀取速度? ¤ 還是為了乘載更多流量?
  31. 31. 優化的成本划算嗎? ¤  花那麼多時間調整效能,成本會不會⽐比直接升級機器⾼高? ¤  ⼀一年遇到幾次流量爆衝? ¤  網站撐不住會損失收⼊入嗎? ¤  幫客⼾戶處理還是⾃自⼰己的網站? ¤  爽度問題還是真的有差?
  32. 32. 尋找最有 CP 值的優化方案 ¤  壓縮 CSS, JS 只要簡單裝個外掛 ¤  效果卻⽐比⾟辛苦調整後端⼤大好幾倍 ¤  網站剛上線,反正也沒⼈人潮~~~ ¤  流量之後爆了,也是笑著改網站 ¤  善⽤用⾃自動壓縮圖⽚片等⼯工具,省去⼈人⼯工操作的時間
  33. 33. 人員訓練也很重要 ¤  圖⽚片上傳前有沒有先裁好⼤大⼩小? ¤  懂不懂得分散圖⽚片到圖床去? ¤  知不知道不應該亂裝外掛? ¤  會不會設定 CDN? 失效時能不能修復?
  34. 34. 提問時間
  35. 35. Thank You

×