調整內核參數
/etc/sysctl.conf,設置 vm.vfs_cache_pressure=50(默認100,值越低越保留緩存)。vm.dirty_ratio=10、vm.dirty_background_ratio=5,減少臟頁頻繁寫入磁盤。vm.swappiness=10(范圍0-100,值越低越少用swap)。文件系統緩存優化
/etc/fstab,為文件系統添加 noatime 選項,減少訪問時間戳更新開銷。/tmp 掛載為 tmpfs,利用內存存儲臨時文件(需注意數據易丟失)。Web服務器緩存
proxy_cache_path 指令,設置緩存路徑、大小及過期時間,例如:proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;
/etc/varnish/default.vcl,配置緩存規則和后端服務。數據庫緩存
innodb_buffer_pool_size(建議設置為物理內存的50%-70%)和 query_cache_size。監控緩存狀態
free -h、vmstat、iostat 監控緩存使用情況,重點關注緩存命中率和內存占用。sar -r 分析內存使用趨勢,識別緩存不足或過度使用場景。定期清理緩存
sync 后,使用 echo 3 > /proc/sys/vm/drop_caches 清理所有緩存(謹慎操作,生產環境建議在低峰期執行)。crontab 設置定時任務,例如每天凌晨清理緩存。參考來源: