溫馨提示×

centos lnmp緩存策略優化

小樊
44
2025-08-26 23:33:13
欄目: 智能運維

以下是CentOS LNMP環境下緩存策略的優化方向及具體措施:

一、Nginx緩存優化

  • 啟用靜態資源緩存
    對CSS、JS、圖片等靜態資源設置過期時間,利用瀏覽器緩存減少重復請求:
    location ~* \.(jpg|jpeg|png|gif|css|js)$ {
        expires 30d;
        add_header Cache-Control "public";
    }
    
  • 配置代理緩存
    緩存后端PHP或API響應,減少動態請求壓力:
    proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;
    location / {
        proxy_cache my_cache;
        proxy_cache_valid 200 30m;
    }
    
  • 啟用Gzip壓縮
    壓縮文本類響應數據,降低傳輸體積:
    gzip on;
    gzip_types text/css application/javascript text/xml;
    gzip_comp_level 6;
    

二、PHP緩存優化

  • 啟用OPcache
    緩存PHP腳本編譯后的字節碼,避免重復解析:
    opcache.enable=1
    opcache.memory_consumption=128
    opcache.max_accelerated_files=10000
    
  • 調整PHP-FPM進程管理
    根據服務器資源動態調整進程數,避免資源浪費:
    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 10
    pm.min_spare_servers = 5
    pm.max_spare_servers = 20
    

三、MySQL緩存優化

  • 優化InnoDB緩沖池
    緩存數據和索引,設置為系統內存的50%-80%:
    innodb_buffer_pool_size = 4G  # 假設服務器內存為8G
    innodb_buffer_pool_instances = 4  # 多實例減少鎖競爭
    
  • 合理配置查詢緩存(僅限MySQL 5.7及以下)
    若使用低版本MySQL,可啟用查詢緩存(MySQL 8.0已移除):
    query_cache_type = 1
    query_cache_size = 64M
    

四、系統級優化

  • 使用SSD存儲
    提升磁盤I/O性能,尤其適合高并發場景。
  • 調整內核參數
    優化TCP連接和內存管理,例如:
    echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
    echo "vm.swappiness = 10" >> /etc/sysctl.conf
    sysctl -p
    

五、監控與調優

  • 工具監控
    使用top、htop監控CPU和內存,iostat監控磁盤I/O,nginx -T查看緩存命中率。
  • 定期清理緩存
    對Nginx緩存目錄設置定時任務,避免緩存文件過多占用空間:
    crontab -e
    0 3 * * * rm -rf /tmp/nginx_cache/*
    

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女