以下是在CentOS上配置緩存以提升用戶體驗的關鍵方法:
Nginx緩存
/etc/nginx/nginx.conf中配置proxy_cache_path設置緩存路徑、大小及有效期,例如:proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;
location / {
proxy_cache my_cache;
proxy_cache_valid 200 302 10m; # 靜態資源緩存10分鐘
proxy_cache_valid 404 1m; # 404響應緩存1分鐘
}
fastcgi_cache_path并設置fastcgi_cache_valid控制緩存時間。proxy_cache_key指令精確控制緩存鍵,例如包含請求URI和參數,避免重復緩存相同內容。Apache緩存
mod_cache和mod_cache_disk模塊,配置CacheRoot和CacheEnable指定緩存路徑和啟用緩存。調整內核參數
vm.swappiness(默認60,可設為10-30)減少交換分區使用,優先保留內存緩存。vm.dirty_ratio(默認20)和vm.dirty_background_ratio(默認10),控制臟頁寫入策略,平衡緩存與磁盤I/O。vm.vfs_cache_pressure(默認100,可設為50-70)減少內核回收文件系統緩存的頻率。文件系統緩存
noatime選項,減少訪問時間戳更新帶來的磁盤I/O,例如:mount -o remount,noatime /dev/sda1 /
tmpfs掛載到內存,例如將/tmp設為內存文件系統:mount -t tmpfs tmpfs /tmp -o size=512M
數據庫緩存
innodb_buffer_pool_size(建議設為物理內存的50%-70%)緩存索引和數據,啟用query_cache緩存查詢結果。CDN與反向代理緩存
cron定時任務定期清理過期緩存,例如:echo "0 3 * * * root sync; echo 3 > /proc/sys/vm/drop_caches" >> /etc/crontab
free -h、vmstat、nginx -T等命令監控緩存使用情況,分析命中率和性能瓶頸。通過以上配置,可有效減少服務器負載,加快內容加載速度,顯著提升用戶體驗。