Ceph对象存储场景,应用对象数达到百亿级别,在客户现网配置下元数据溢出严重,导致读写性能下降严重。本特性通过NVME空间的重新配置、压缩使能、Bcache参数调优等手段提升该场景下的读写性能。
项目 |
描述 |
---|---|
服务器 |
Kunpeng 920 4U机型 |
CPU型号 |
鲲鹏920 5220处理器 |
内存 |
12*32G |
网络 |
4*25GE |
SSD |
2*7.68TB |
HDD |
36*16TB |
通过调整OSD DB的NVME空间,让OSD能承载更多元数据,避免在百亿对象场景下出现元数据溢出,导致读写性能下降严重。
每个OSD能分到14.6T/36=400G的空间,100G做为Bcache缓存盘,300G做为DB/WAL空间,结合元数据压缩,最终每个OSD可承载元数据超过800GB。
cd /home && tar -zxvf ceph-14.2.8.tar.gz && cd ceph-14.2.8 patch -p1 < ../ceph-ksal-zstd-plugin.patch
请确认1编译生成的KSAL zstd包已经安装完成,再进行Ceph编译。
该步骤需在部署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"
针对DB使用SSD,DATA使用Bcache(SSD + HDD)的场景,对Bcache使用设备以及Bcache软件做参数调整,提升基础写性能。
具体优化项如表1所示。
参数名称 |
参数含义 |
优化建议 |
||
---|---|---|---|---|
设备参数 |
Bcache使用缓存盘和数据盘设备的硬件参数 |
修改方式:请参见《IO直通工具 用户指南》软件安装章节下载安装IO直通工具。 |
||
软件参数 |
Bcache软件运行时动态指定的参数 |
修改方式:运行如下脚本。
|
基于对象数调整对象网关分片数,避免一个索引分片记录kv过多影响性能。
参数名称 |
参数含义 |
优化建议 |
||||||||
---|---|---|---|---|---|---|---|---|---|---|
rgw_dynamic_resharding |
动态分片开关 |
默认值:true 修改方式: 在ceph.conf的[global]标签下增加如下内容,关闭动态分片开关。
|
||||||||
bucket_index_max_shards |
桶索引分片数 |
默认值:1 修改方式:
|