以下是在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等命令监控缓存使用情况,分析命中率和性能瓶颈。通过以上配置,可有效减少服务器负载,加快内容加载速度,显著提升用户体验。