调整内核参数
/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 设置定时任务,例如每天凌晨清理缓存。参考来源: