YMG Blog

在路上,习惯学习,习惯好的习惯

使用gdb来调试ceph

在debug模式下重新编译ceph,再利用gdb来调试ceph的rbd

首先重新编译ceph,在debug模式下,使用gdb来调试rbd的运行过程 编译安装ceph 参照ceph的github官方教程 $git clone git://github.com/ceph/ceph $git submodule update –init –recursive checkout到v12.2.2 $git checkout v12.2.2 开始安装依赖包 $cd...

bluestore性能调优测试

调节各类参数来测试ceph集群的4k-randwrite的性能

本文通过调节bluestore的参数来测试其4k-randwrite性能,主要是用fio工具来测试IOPS性能,以及相关内部监控系统来获取其他评价指标,如:osd写吞吐量,CPU利用率等等。调节的参数有:集群osd个数,image个数,bluestore_shard_finishers参数,osd_op_num_shards参数等。 任务一 cpu瓶颈测试 为确定cpu负载的影响,...

基于bluestore的rocksdb的调优,测试ceph-4K-randwrite性能

调节bluestore_rocksdb参数,fio来测试ceph随机写的性能,期望进行优化

在上一篇文章中测试了在ceph环境下,通过gdbprof分析4k-randwrite的性能,可以看出rocksdb线程耗用资源较多,因为ceph的底层就是基于rocksdb进行存储的,因此尝试着去调节ceph中导出的rocksdb参数,来达到一个调优效果。 简单查看下集群是否正常: $ceph osd tree $ceph -s rocksdb导出参数 接下来对参数进行说明:...

gdbprof分析ceph的4K-randwrite性能

分析ceph进行4k随机写时哪些线程及其函数较为耗资源

gdbprof,是一款基于系统时间(而非cpu事件)的性能分析工具,它通过sampling的方式进行性能统计的。每隔period(默认为0.1秒),给gdb发送sigint信号,然后循环每个thread,根据该thread的call trace,统计函数的调用情况。 它是基于python实现的,中间用到了gdb的python api。 gdbprof源码 本文采用的gdbprof优化版...