在CentOS系统中,缓存机制对于提高系统性能和响应速度非常重要。以下是一些最佳实践:
free -m
命令查看内存和缓存的使用情况,了解当前系统的资源分配情况。sync
:将所有正在内存中的缓冲区写到磁盘中。echo 1 > /proc/sys/vm/drop_caches
:清理页缓存。echo 2 > /proc/sys/vm/drop_caches
:清理目录项和inode缓存。echo 3 > /proc/sys/vm/drop_caches
:清理所有缓存。echo "0 2 * * * root sync; echo 3 /proc/sys/vm/drop_caches" | crontab -u root
vm.swappiness
参数:echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
ulimit
参数:echo "* - nofile 65536" | sudo tee -a /etc/security/limits.conf
ulimit -n 65536
echo "vm.dirty_ratio = 80" | sudo tee -a /etc/sysctl.conf
echo "vm.dirty_background_ratio = 50" | sudo tee -a /etc/sysctl.conf
echo "vm.dirty_cache_ratio = 70" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Nginx缓存配置:
http {
proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_server;
proxy_cache my_cache;
proxy_cache_valid 200 302 30m;
proxy_cache_valid 404 1m;
}
}
}
重启Nginx以应用新的配置:
sudo systemctl restart nginx
Varnish缓存配置:
编辑 /etc/varnish/default.vcl
文件,设置缓存大小、后端服务器等参数,并启动Varnish服务:
sudo systemctl start varnish
sudo systemctl enable varnish
echo "net.ipv4.tcp_tw_reuse = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_tw_recycle = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_fin_timeout = 30" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_time = 1200" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = "1024 65535"" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog = 8192" | sudo tee -a /etc/sysctl.conf
echo "net.core.somaxconn = 1024" | sudo tee -a /etc/sysctl.conf
echo "net.core.netdev_max_backlog = 2000" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_max_orphans = 32768" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo yum update -y
sudo systemctl stop firewalld
sudo systemctl disable firewalld
在进行任何系统级操作之前,建议先备份重要数据,以防万一。