在CentOS系统中,可以通过以下几种方法来减少缓存对服务器压力的影响:
修改/etc/sysctl.conf文件:
vm.swappiness = 10 # 降低交换分区的使用频率
vm.vfs_cache_pressure = 50 # 调整文件系统缓存的压力阈值
然后运行 sysctl -p 使更改生效。
手动清理缓存:
sync; echo 3 > /proc/sys/vm/drop_caches # 清除页缓存、目录项缓存和inode缓存
MySQL/MariaDB:
innodb_buffer_pool_size参数,通常设置为物理内存的50%-75%。Redis/Memcached:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
add_header X-Proxy-Cache $upstream_cache_status;
}
}
top、htop、vmstat、iostat等监控服务器资源使用情况。通过综合运用上述方法,可以有效减少CentOS服务器上的缓存压力,提升整体性能和稳定性。