CEPH Mimic版本 - Bluestore io过程、延迟分析及优化建议

##CEPH Mimic版本 - Bluestore io过程、延迟分析及优化建议##

Ceph bluestore与filestore相比较, 除了bluestore不需要写journal,就IO过程(流程)来讲大体上是类似的,OSD侧的io流程、过程调用分析网络上已经有很多文章了,在这里就不再展开,我将过程贴到下方:

写流程:

读流程:

我们来看看Bluestore中写IO状态迁移:


	在Bluestore::queue_transactions方法中会创建事务上下文TransContext并初始化(设置开始时间-start、初始状态-STATE_PREPARE),然后执行经由OSD层封装的transaction,接着调用_txc_state_proc提交io以及metadata,最后返回应答。

	需要注意的是:bluestore中通过配置*_deferred_*参数来控制io的行为,默认情况下io size=32KB及以下,进行的是deferred io,而aio与deferred io的过程有些区别,请看如下图表:

	基本状态迁移图如下:

	STATE_PREPARE
		|
		| 			
	STATE_AIO_WAIT
		|
		|					
    STATE_IO_DONE
		|
		|			
	STATE_KV_QUEUED
		|
		|			
	STATE_KV_SUBMITTED
		|
		|			
	STATE_KV_DONE —————————  STATE_DEFERRED_QUEUED
		|			
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值