百亿对象性能调优

Ceph对象存储场景,应用对象数达到百亿级别,在客户现网配置下元数据溢出严重,导致读写性能下降严重。本特性通过NVME空间的重新配置、压缩使能、Bcache参数调优等手段提升该场景下的读写性能。

硬件配置

项目

描述

服务器

Kunpeng 920 4U机型

CPU型号

鲲鹏920 5220处理器

内存

12*32G

网络

4*25GE

SSD

2*7.68TB

HDD

36*16TB

配置NVMe

使能zstd压缩

  1. 请参见《鲲鹏BoostKit 分布式存储算法加速库 开发指南》中的“编译安装KSAL zstd算法包”章节,完成编译与安装。
  2. 获取ceph-14.2.8源码,并放置到“/home”目录下。
  3. 获取Ceph中RocksDB使能zstd的patch,并放置到“/home”目录下,patch下载地址:https://gitee.com/kunpengcompute/zstd/releases/download/ksal_zstd/ceph-ksal-zstd-plugin.patch
  4. 进入“/home”目录,解压Ceph源码包,进入Ceph源码目录,合入补丁。

    cd /home && tar -zxvf ceph-14.2.8.tar.gz && cd ceph-14.2.8
    patch -p1 < ../ceph-ksal-zstd-plugin.patch

  5. 修改完源码后需要重新编译Ceph,编译步骤请参见《Ceph 14.2.8 编译指南(CentOS 7.6&openEuler 20.03&openEuler 22.03)》。

    请确认1编译生成的KSAL zstd包已经安装完成,再进行Ceph编译。

  6. 完成Ceph软件安装,具体请参见《Ceph对象存储 部署指南(CentOS 7.6&openEuler 20.03&openEuler 22.03)》的“安装Ceph”和“验证Ceph”章节。
  7. 执行以下命令修改ceph.conf,完成zstd压缩配置。

    该步骤需在部署osd之前完成。

    [osd]
    bluestore_rocksdb_options="compression=kZSTD,compression_per_level=kNoCompression:kNoCompression:kZSTD:kZSTD:kZSTD,max_write_buffer_number=4,min_write_buffer_number_to_merge=1,recycle_log_file_num=4,write_buffer_size=268435456,writable_file_max_buffer_size=0,compaction_readahead_size=2097152,max_background_compactions=2"

Bcache参数配置优化

RGW参数配置