温馨提示×

centos缓存配置技巧

小樊
49
2025-08-02 08:07:37
栏目: 智能运维

在CentOS系统中,缓存配置是一个重要的优化步骤,可以显著提高系统性能和响应速度。以下是一些常见的缓存配置技巧:

1. 文件系统缓存

  • 查看当前缓存使用情况

    free -h
    

    或者

    vmstat -s | grep cache
    
  • 调整缓存大小:通常不需要手动调整文件系统缓存,因为Linux内核会自动管理。但如果你确实需要调整,可以通过修改 /etc/sysctl.conf 文件来实现:

    echo "vm.vfs_cache_pressure=50" >> /etc/sysctl.conf
    sysctl -p
    

    这个参数控制内核回收缓存的压力,值越低,内核越倾向于保留缓存。

2. DNS缓存

  • 安装nscd

    sudo 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
    

3. Web服务器缓存

Apache缓存配置

  • 安装mod_cache

    sudo 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;
            }
        }
    }
    

4. 数据库缓存

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
    

5. Redis缓存配置

  • 安装Redis:确保系统已安装GCC编译器,然后下载并安装Redis。具体步骤可以参考官方文档。
  • 配置Redis:绑定IP地址、设置密码、配置持久化、优化性能。

6. MinIO缓存配置

  • 配置文件位置:MinIO的配置文件通常位于 /etc/minio/minio.conf/etc/minio/conf/minio.json
  • 设置对象存储缓存:在配置文件中启用缓存并设置缓存类型和大小,例如:
    {
        "enable": true,
        "type": "memory",
        "size": "1024MB"
    }
    
  • 设置对象生命周期管理:通过配置文件的 lifecycle 部分设置对象的过期时间。
  • 缓存预热:在新数据上传时预先加载到缓存中。

7. 内存管理

  • 查看内存使用情况:使用 free -h 命令查看内存使用情况,包括总内存、已用内存、空闲内存、共享内存、缓冲区和缓存的使用情况。
  • 清理缓存
    echo 1 > /proc/sys/vm/drop_caches
    
    清理页缓存。
    echo 2 > /proc/sys/vm/drop_caches
    
    清理目录项和索引节点缓存。
    echo 3 > /proc/sys/vm/drop_caches
    
    清理所有缓存。

8. 缓存优化建议

  • 合理调整内核参数:如 vm.vfs_cache_pressure 控制内核回收page与dentries的倾向性。
  • 关闭不必要的服务和进程:以减少系统资源占用。
  • 增加物理内存:当系统频繁发生swapping时,考虑增加物理内存是最直接的优化方法。

通过上述方法,可以在CentOS系统中有效地管理缓存,从而提升系统性能和响应速度。在进行任何缓存清理或优化操作之前,请确保了解这些操作的影响,并在测试环境中验证其效果,以避免对生产环境造成不必要的影响。

0