当前位置:网站首页>云存储硬核技术内幕——(11) 女子会所的秘密
云存储硬核技术内幕——(11) 女子会所的秘密
2022-08-04 15:38:00 【用户8289326】
在上期,我们提到,Ceph集群使用多副本的情况下,整体读性能可达所有物理磁盘读性能的总和,但由于写入的机制为只写入主副本,然后向另外两个副本同步,因此,以三副本为例,写性能只能达到所有磁盘写性能总和的三分之一。以SATA大盘单盘,100 IOPS写性能计,6节点72大盘的总写IOPS性能只能到2400 IOPS。这是难以满足高性能数据库需求的。
而如果使用SSD盘,我们会发现,同等容量的SSD盘,其成本是机械盘的5-10倍。因此,工程师们想到,能否使用少量的SSD盘,配合低成本的SATA机械大盘,一定程度上提升Ceph集群的读写性能,特别是随机写性能呢?
让我们将镜头切换回深南大道10000号——
有一天,子虚蹦蹦跳跳地找到方老师,告诉方老师:
“我做了个社会调查——”
方老师问:
“什么样的社会调查呀?”
子虚说:
“我调查了所有的高端女子私密会所,发现一个秘密……”
原来,子虚发现两个规律:
光顾女子私密会所的顾客,如果上一次点了tony老师做头发,下一次还点tony老师做头发的可能性非常大;
如果一名顾客经常光顾女子私密会所,那么她去隔壁便利店买钢丝球和打火机的可能性非常大;
方老师笑了,告诉子虚,这叫时间局部性和空间局部性。
所谓时间局部性,指的是,如果某块数据,上一次被访问过,那么,在越近的时间内,这块数据被访问到的可能性越大;
所谓空间局部性,指的是,如果某块数据,上一次被访问过,那么,与它地址越接近的数据,下一次被访问到的可能性越大;
在计算机系统中,可以利用这些机制,用少量高价格高成本存储器搭配大量低成本低速存储器,实现较高的性能。
常见的存储器响应时间大致如下图:
可见,从2000年到2020年的20年间,RAM,缓存,CPU等电子器件的性能大致遵循摩尔定律提升,而硬盘为机械构件,其性能提升非常有限。因此,在Ceph中,引入了固态盘(SSD盘),作为RAM和HDD之间的缓冲:
这样,可以充分利用时间局部性和空间局部性原理,大大提升Ceph集群的性能。
Ceph提供的这种机制叫做——分级缓存机制。它的大致设计如下图:
如图,Ceph的Client (例如,QEMU的RBD块驱动)向Object发起读写。这一步是看不到缓存的存在的。
Object拆分为PG,并在实际节点上落盘时——此处是一个岔路口。
翻开厚厚的Ceph文档,我们发现,Ceph的缓存机制有两种工作模式:
1、写回(Write Back)。OSD会将数据写入SSD缓存中,并向Client返回写成功。此后,OSD会将SSD缓存中的数据写入HDD盘,并同步写三副本; 2、只读(Read Only)。OSD会把数据直接写入HDD盘,当数据被读取的时候暂存在缓存中。如这部分数据被改写,缓存中的数据将被标记为脏(dirty)并失效;
熟悉计算机体系结构的同学可能会发现,缓存常见的另一种工作模式——写透,在这里并没有使用。这是为什么呢?
这个问题不需要留到下回分解。
写透(Write Through)的工作模式是,控制器将缓存中的数据,真正写入物理磁盘后,才会向客户端返回成功。显然,这种工作模式会大大降低写入性能。比起写回工作模式来,写透可以避免,一旦数据并没有真正落盘,只是在缓存中,此时控制器异常或掉电,导致易失性缓存中数据丢失。
最要命的是,客户端收到的报告是,数据成功写入!
这种现象,叫做存储丢失数据,属于非常致命的产品问题,会导致产品品牌形象的崩坏。
而Ceph使用的缓存一般为SSD盘,也就是非易失性存储,因此,可以使用写回方式,大大提升写性能。
大家猜对了吗?
边栏推荐
- 普法教育结合VR全景,直观感受和学习法治精神
- 什么是 DevOps?看这一篇就够了!
- Xi'an Zongheng Information × JNPF: Adapt to the characteristics of Chinese enterprises, fully integrate the cost management and control system
- Beginner crawler notes (collecting data)
- 西安纵横资讯×JNPF:适配中国企业特色,全面集成费用管控体系
- Many merchants mall system function and dismantling 24 - ping the strength distribution of members
- 阿尔萨斯监控平台&普罗米修斯监控平台对服务器资源的监控
- 《电磁兼容防护EMC》学习笔记
- Crawler Xiaobai Notes (yesterday's supplement to pay attention to parsing data)
- 农产品期货开户哪家好??
猜你喜欢

GPS卫星同步时钟,NTP网络同步时钟,北斗时钟服务器(京准)

【已解决】allure无法生成json文件和AttributeError: module ‘allure‘ has no attribute ‘severity_level‘

解决dataset.mnist无法加载进去的情况

【伸手党福利】投影仪初学者入门——投影亮度及幕布选择——从入门到精通

(2022杭电多校五)C - Slipper (dijkstra+虚拟结点)

How to monitor code cyclomatic complexity by refactoring indicators

Jupyter常用操作总结(强烈建议收藏,持续更新实用操作)

DevOps平台中的制品库是什么?有什么用处?

For循环控制
![吴恩达机器学习[9]-神经网络学习](/img/07/0eeb3cd5f3ea7c2baeec1732ea8d9a.png)
吴恩达机器学习[9]-神经网络学习
随机推荐
字节API鉴权方法
现代 ABAP 编程语言中的正则表达式
Game network UDP + FEC + KCP
AAAI‘22 推荐系统论文梳理
Redis 高可用
录音文件识别
Go Go 简单的很,标准库之 fmt 包的一键入门
重构指标之如何监控代码圈复杂度
Sublime Text 好用的插件
Crawler Xiaobai Notes (yesterday's supplement to pay attention to parsing data)
GPS satellite synchronization clock, NTP network synchronization clock, Beidou clock server (Jingzhun)
Semaphore 基本原理
Pisanix v0.2.0 发布|新增动态读写分离支持
性能提升400倍丨外汇掉期估值计算优化案例
Why, when you added a unique index or create duplicate data?
爬虫小白笔记(昨天的对于注意解析数据的补充)
如何防止重复下单?
附加:自定义注解(参数校验注解);(写的不好,别看…)
IP报文头解析
西安纵横资讯×JNPF:适配中国企业特色,全面集成费用管控体系