Optimize Page Speed
新手教學-改善網站速度
幫過一些網站管理者或是一般使用者改善網站速度的心得
檢查
先初步檢查載入慢的原因 查看使用者機器規格和目前 CPU / Memory 使用量, e.g. top 使用最大量的 Process, e.g. php, mysql, http..etc 目前連線數量, e.g. netstat -na | grep 80 | grep ESTA 使用哪種 Web Server 哪種 Application 需要改善, e.g. WordPress, Magento 最為常見 別的 Region visit 想改善, e.g. 從 US 訪問 日本的主機網站 檢查 error log |
改善方式
改善 page loading:
- 使用 full page cache plugin, 不會 hit back-end PHP 自然會快上許多倍
- Enable crawler, 使 user 第一次訪問即可 Serve with cache
- 使用 HTTP2
- 修正 resource status code 404
改善 php loading:
- 使用 PHP 7.x instead of PHP 5.x
- 使用 opcache, e.g. Zend Opcache, xCache
- PHP child process increase
- 確認無 PHP Fatal error
改善 database loading:
改善 http loading:
- 是否正在使用 Apache, 可改為其他更輕量的網頁伺服器, e.g. LiteSpeedtech, Nginx
- DNS Prefetch, 預先解析給使用者. 可降低延遲
改善 Region 延遲:
- 設定 CDN, 使訪問者由最近處取得 Static file.
- CloudFlare # Free, 個人覺得非正常 CDN, 介面容易使用, 免費版已提供很實用的基本功能. 推薦個人用戶可以使用
- CloudFront # 市占率頗高
- Akamai CDN # 市占率頗高
- MAXCDN # 無
- 使用 Support QUIC Protocol web server. 無須更改任何app 內容即可降低 15+% 速度. QUIC 於高延遲環境效果特別顯卓, e.g. 不同 region or 手機使用者
提升 TLS 速度
- 使用 OCSP Stapling, 使瀏覽器跳過確認 Certificate 是否有效的步驟 #需 Web server and SSL 支持
改善 CPU Loading
- 使用 top 確認是那些 process, 是否有被攻擊
改善 Memory Usage
- 使用 Cache 可大幅改善現象
- 停止使用 mod_pagespeed, 當沒快取時可以加速但同時消耗記憶體
Leave a comment