温馨提示×

centos缓存如何配置技巧

小樊
56
2025-08-04 08:25:26
栏目: 智能运维

在CentOS系统中,缓存配置可以通过多种方法实现,具体如下:

内存缓存配置

  • 查看内存使用情况:使用 free -h 命令查看内存使用情况,包括总内存、已使用内存、空闲内存、共享内存、缓冲区和缓存。
  • 手动清理缓存
    • 使用 sync 命令将所有挂起的文件系统I/O操作刷新到磁盘。
    • 使用 echo 3 | sudo tee /proc/sys/vm/drop_caches 命令清除页缓存、目录项缓存和索引节点缓存。
  • 定时自动清理缓存:创建一个脚本(如 cleancache.sh),并将其添加到cron任务中,以定时清理缓存。

Nginx缓存配置

  • 安装必要的包sudo yum install epel-release nginx nginx-mod-http-cache
  • 创建缓存配置文件:例如 /etc/nginx/conf.d/cache.conf,并添加以下内容:
    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;
                proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
                proxy_cache_bypass $http_cache_control;
                proxy_cache_key $scheme $host $request_uri $is_args $args;
            }
        }
    }
    
  • 重启Nginx:使用 sudo systemctl restart nginx 应用新的配置。

MinIO缓存配置

  • 配置文件:缓存配置通常位于 /etc/minio/minio.conf/etc/minio/conf/minio.json
  • 示例配置
    {
        "cache": {
            "enable": true,
            "type": "memory",
            "size": "1024MB"
        }
    }
    
  • 启用缓存预热
    {
        "cache": {
            "enable": true,
            "type": "memory",
            "size": "1024MB",
            "预热": {
                "enable": true,
                "objects": ["my-bucket/*"]
            }
        }
    }
    
  • 重启MinIO服务:使用 sudo systemctl restart miniosudo service minio restart 使更改生效。

文件系统缓存调整

  • 查看当前缓存设置
    • cat /proc/sys/vm/dirty_ratio
    • cat /proc/sys/vm/dirty_background_ratio
    • cat /proc/sys/vm/vfs_cache_pressure
  • 调整缓存设置
    • echo 10 > /proc/sys/vm/dirty_ratio
    • echo 5 > /proc/sys/vm/dirty_background_ratio
    • echo 50 > /proc/sys/vm/vfs_cache_pressure
  • 永久生效配置
    • 编辑 /etc/sysctl.conf 文件,添加或修改以下行:
      vm.dirty_ratio = 10
      vm.dirty_background_ratio = 5
      vm.vfs_cache_pressure = 50
      
    • 应用新的配置:sudo sysctl -p

DNS缓存配置

  • 安装nscdsudo yum install nscd
  • 启动并启用nscd服务
    • sudo systemctl start nscd
    • sudo systemctl enable nscd
  • 配置nscd:编辑 /etc/nscd.conf 文件,根据需要进行配置,例如:
    enable-cache hosts yes positive-time-to-live hosts 3600 negative-time-to-live hosts 20
    

Web服务器缓存配置

Apache

  • 安装mod_cachesudo yum install mod_cache mod_cache_disk
  • 启用模块
    • sudo systemctl restart httpd
    • sudo a2enmod cache
    • sudo a2enmod cache_disk
    • sudo systemctl restart httpd
  • 配置缓存:编辑 /etc/httpd/conf.d/cache.conf 文件,例如:
    <IfModule mod_cache.c>
        <IfModule mod_cache_disk.c>
            CacheRoot "/var/cache/httpd/mod_cache_disk"
            CacheEnable disk /
            CacheDirLevels 2
            CacheDirLength 1
        </IfModule>
    </IfModule>
    

Nginx

  • 配置缓存:编辑 /etc/nginx/nginx.conf 文件,添加缓存配置:
    http {
        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;
                proxy_cache_valid 200 302 10m;
                proxy_cache_valid 404 1m;
            }
        }
    }
    

数据库缓存配置

MySQL

  • 调整缓存大小:编辑 /etc/my.cnf/etc/mysql/my.cnf 文件,例如:
    [mysqld]
        innodb_buffer_pool_size = 1G
        query_cache_size = 64M
        query_cache_type = 1
    

PostgreSQL

  • 调整缓存大小:编辑 /var/lib/pgsql/data/postgresql.conf 文件,例如:
    shared_buffers = 25% of total RAM
    work_mem = 4MB
    maintenance_work_mem = 512MB
    

通过以上步骤,你可以在CentOS系统中配置缓存,从而提高系统性能和响应速度。

0