ceph性能优化的操作笔记(3)

Ceph层面的优化
参数的查询
下面的tuning参数可以通过以下命令获取

ceph daemon osd.x config show

以下命令用来观察osd的性能:

ceph daemon osd.x perf dump
ceph osd perf

1 filestore/object store 的参数
filestore queue max ops = 50000 数据盘最大接受的操作数
filestore queue max bytes = 524288000 数据盘一次操作最大的字节数(bytes)
跟踪op_queue_reserve_throttle查看是否有waiting大于max_ops或大于max_bytes. 当队列的操作数过多,或者队列中操作数据长度过大,阻塞等待。在某个操作处理结束后,_void_process_finish会唤醒

filestore queue committing max ops = 50000 #数据盘能够commit的操作数
filestore queue committing max bytes = 524288000 #数据盘能够commit的最大字节数(bytes)

filestore fd cache size: 128 #对象文件句柄缓存大小 10000 objects. (10k files x 4M/file = 40G) as cache。如果有100G内存。 100G /10 osd = 10G /4M = 2500(cache size)
filestore fd cache shards: 16 #对象文件句柄缓存分片个数
默认值128个object。如果每个object的大小为4M,每个filestore 只能cache 128*4M = 512M 。缓存文件句柄能加快文件的访问速度,建议缓存所有的文件句柄,要调高系统的句柄限制,以免句柄耗尽。建议10240

filestore_fiemap: #开启稀疏读写特性,有助于加快克隆和恢复速度

filestore_max_sync_interval: 5
filestore_min_sync_interval: 0.01

filestore_merge_threshold: 10 #pg子目录合并的最小文件数
filestore_split_multiple: 2 #pg子目录分裂乘数,默认为2
这两个值决定了一个目录下,存放object文件的个数。 默认为 10 * 2 * 16 = 320个。 如果超过这个数, 目录会自动split。 这会影响到内存中元数据的访问, 进而影响性能。filestore_merge_threshold表示, 当一个目录下的object文件数小于该值时, 目录会自动合并。两个参数控制pg目录的合并与分裂,当目录下的文件数小于filestore_merge_threshold时,该目录的对象文件会被合并到父目录;如果目录的文件数大于filestore_merge_threshold*16*filestore_split_multiple,该目录会分裂成两个子目录。设置合理的值可以加快对象文件的索引速度

发表评论

您的电子邮箱地址不会被公开。