首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

基于SSD的Kafka应用层缓存架构设计与实现

Kafka在美团数据平台承担着统一的数据缓存和分发的角色,针对因PageCache互相污染,进而引发PageCache竞争导致实时作业被延迟作业影响的痛点,美团基于SSD自研了Kafka的应用层缓存架构...架构决策 在引入SSD作为缓存层后,下一步要解决的关键问题包括PageCache、SSD、HDD三者间的数据同步以及读写请求的数据路由等问题,同时我们的新缓存架构需要充分匹配Kafka引擎读写请求的特征...备选方案一:基于操作系统内核层实现 目前开源的缓存技术有FlashCache、BCache、DM-Cache、OpenCAS等,其中BCache和DM-Cache已经集成到Linux中,但对内核版本有要求...WriteAround:数据写入操作直接写入后端存储,同时SSD对应的缓存会失效。...对于SSD缓存架构,同样存在上述问题,因此在新架构中,在刷盘操作中同样对刷盘速率进行了限制。 方案测试 测试目标 验证基于应用层的SSD缓存架构能够避免实时作业受到延迟作业的影响。

50630

基于SSD的Kafka应用层缓存架构设计与实现

Kafka在美团数据平台承担着统一的数据缓存和分发的角色,针对因PageCache互相污染,进而引发PageCache竞争导致实时作业被延迟作业影响的痛点,美团基于SSD自研了Kafka的应用层缓存架构...架构决策 在引入SSD作为缓存层后,下一步要解决的关键问题包括PageCache、SSD、HDD三者间的数据同步以及读写请求的数据路由等问题,同时我们的新缓存架构需要充分匹配Kafka引擎读写请求的特征...备选方案一:基于操作系统内核层实现 目前开源的缓存技术有FlashCache、BCache、DM-Cache、OpenCAS等,其中BCache和DM-Cache已经集成到Linux中,但对内核版本有要求...WriteAround:数据写入操作直接写入后端存储,同时SSD对应的缓存会失效。...对于SSD缓存架构,同样存在上述问题,因此在新架构中,在刷盘操作中同样对刷盘速率进行了限制。 方案测试 测试目标 验证基于应用层的SSD缓存架构能够避免实时作业受到延迟作业的影响。

1.5K20

Linux缓存机制bufferscached

缓存机制:Linux引入了buffers和 cached机制,buffers与cached都是内存操作,用来保存系统曾经打开过的文件以及文件元数据,这样当操作系统需要读取某些文件时,首先在buffers...为了方便查找文件,linux引入目录项(dentry)描述目录与文件的关系树,Linux为每一个目录建立一个目录项,也为每个文件建立一个目录项。...在Linux系统中数据可分为两大类,数据和元数据,数据泛指普通文件中的实际数据,元数据是用来描述一个文件的特征的系统数据。...根据Linux虚拟内存管理机制,这种行为是正常的。要理解为什么缓存会变得如此之高,以及为什么这不是一个问题,就必须了解I/O在Linux上是如何工作的。...从Linux缓存机制来说,buffers和cached都是系统可用内存,通常情况下看到bufferes和cached占用内存多,这是一个正常现象,它不是一个问题,所以在看到物理内存快要耗尽时,不要惊慌,

4.6K10

SSD漫谈

文章目录[隐藏] 为什么 SSD 比 HDD 更快 如何评价一款 SSD AS SSD 的问题在哪 放在五年前,SSD (Solid State Drive,固态硬盘)对大多数人而言仍然是一个新兴的陌生产品...然而时至今日,SSD 已经成为了中高端电脑的标配。甚至对于入门级配置而言,SSD 还是 HDD 的区别已经取代了传统三大件,直接影响着整机运行速度。...适逢最近 SSD 降价,不少朋友都有来咨询 reizhi 有关 SSD 的一些问题,这边便汇聚成文,一起总结一下。...如何评价一款 SSD 对于 HDD 的性能表现可以通过连续读取速度,连续写入速度和寻道时间三项指标来评测,然而这并不完全适用于 SSD。...AS SSD 的问题在哪 除了 CDM 之外,AS SSD Benchmark 也是一款非常热门的 SSD 测试软件。甚至不少商家将 AS SSD 的分数用于营销宣传,如千分固态等。

1.4K20

Linux如何使用trim命令保持SSD的读写速度

,如果您为了速度而在服务器中运行SSD,那么就可以使用TRIM来保持SSD运行速度到最佳状态。...为什么SSD会慢下来? 首先让我们看看为什么会出现这个问题,这与SSD如何写入数据到存储有关。SSD将数据存储在固定大小的块中,称为面。...fstrim 是一个在 Linux 系统中用来回收闲置的或未使用的磁盘空间的工具。它主要应用在使用了 SSD(Solid State Drive,固态硬盘)的系统上。...具体来说,当你在 SSD 上删除一个文件时,操作系统并不会立即把这部分磁盘空间标记为可用,而是留到下次需要写入数据时再进行清理。这可能会影响 SSD 的写入性能。...fstrim 就是为了解决这个问题,通过定期运行 fstrim ,操作系统可以通知 SSD 这部分是哪些空间是未使用的,从而让 SSD 提前进行清理并回收空间,帮助提高 SSD 的写入性能。

88210

浅谈Linux内核中页缓存和块缓存

中块缓存关联,每个块缓存和磁盘的盘块进行关联。...块缓存缓存的单个块大小是以磁盘扇区大小,默认是512个字节。无论应用程序读取多少个字节,在最终访问磁盘的时候,都必须以扇区大小(512个字节)读取;对应的块缓存缓存块大小页是扇区的大小。...Page Cache(页缓存) Linux页高速缓存任何基于页的数据,所缓存的Page包括普通文件内容、块设备文件、内存映射文件的读写。页缓存中一个页帧的文件数据锁对应的磁盘块不必是连续的。...针对块设备文件的页缓存则是磁盘盘块在物理磁盘上是连续的。 页缓存中采用了struct address_space数据结构来管理。它特指一个文件内容所形成的的页缓存空间。...) 块缓存和页缓存是相对独立的两种缓存机制,通常也可以结合在一起共同描述页缓存中保存文件的数据,向上以页为单位于页缓存交互,向下以块缓存为单位和通用设备层进行交互。

2.7K30

SSD硬件测试

// SSD硬件测试 // 这两天有一个临时性的小任务,使用fio工具对SSD磁盘进行硬件测试,fio这个工具之前没有用过,这两天简单研究了一下这个工具,把一些常用的参数在这里说明一下。...operations per second (IOPS) available to InnoDB background tasks 也就是说它直接代表innodb的刷盘IOPS值,所以如果你的磁盘是SSD...)创建job,如果这个选项设置的话,fio将使用pthread_create来创建线程 rw 测试的IO模式(顺序读、随机读、顺序写、随机写) bs 单次io的块文件大小,机械盘常用大小4k、16k,SSD...例如,我可以用一个配置文件混合包含SSD和HDD,但是设置分组(group)把IO单独汇总。我现在还没涉及这个功能,但未来会用到。

3.1K40

Linux内核的冷热缓存

缓存为什么会有冷热? 究其原因,是因为对于内存的访问,可能是CPU发起的,也可以是DMA设备发起的。 如果是CPU发起的,在CPU的硬件缓存中,就会保存相应的页内容。...如果这个页本来没有存在于硬件缓存中,那么它的到来,势必会将原本为其他的页缓存的内容挤出硬件缓存。...但是,如果对于内存的访问是由DMA设备发起的,那么该页不会被CPU访问,就不需要在CPU的硬件缓存中进行缓存,也不会对已经缓存在硬件缓存中的页内容造成伤害。...在Linux操作系统中,每个内存区域(Zone)都分配了hot cache和cold cache,hot cache用来缓存那些很可能被CPU的硬件缓存收纳了的页。...如果gfp_flags中指定的__GFP_COLD,则从冷缓存中分配一页,否则,从热缓存中分配。

1.8K20
领券