在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
在進行任何系統級操作之前,建議先備份重要數據,以防萬一。