加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

将Page Cache施展的极尽描述

发布时间:2021-05-22 04:50:29 所属栏目:教程 来源:互联网
导读:引入 Cache 层的目标是为了进步 Linux 操纵体系对磁盘会见的机能。Cache 层在内存中缓存了磁盘上的部门数据。当数据的哀求达到时,假如在 Cache 中存在该数据且

“引入 Cache 层的目标是为了进步 Linux 操纵体系对磁盘会见的机能。Cache 层在内存中缓存了磁盘上的部门数据。当数据的哀求达到时,假如在 Cache 中存在该数据且是最新的,则直接将数据转达给用户措施,免去了对底层磁盘的操纵,进步了机能。Cache 层也正是磁盘 IOPS 为什么能打破 200 的首要缘故起因之一。在 Linux 的实现中,文件 Cache 分为两个层面,一是 Page Cache,另一个 Buffer Cache,每一个 Page Cache 包括多少 Buffer Cache。Page Cache 首要用来作为文件体系上的文件数据的缓存来用,尤其是针对当历程对文件有 read/write 操纵的时辰。Buffer Cache 则首要是计划用来在体系对块装备举办读写的时辰,对块举办数据缓存的体系来行使。

行使 Page Cache 的甜头:

I/O Scheduler 会将持续的小块写组装成大块的物理写从而进步机能

I/O Scheduler 会实行将一些写操纵从头按次序排好,从而镌汰磁盘头的移动时刻

充实操作全部空闲内存(非 JVM 内存)。假如行使应用层 Cache(即 JVM 堆内存),会增进 GC 承担

读操纵可直接在 Page Cache 内举办。假如斲丧和出产速率相等,乃至不必要通过物理磁盘(直接通过 Page Cache)互换数据

假如历程重启,JVM 内的 Cache 会失效,但 Page Cache 如故可用

Broker 收到数据后,写磁盘时只是将数据写入 Page Cache,并不担保数据必然完全写入磁盘。从这一点看,也许会造成呆板宕机时,Page Cache 内的数据未写入磁盘从而造成数据丢失。可是这种丢失只产生在呆板断电等造成操纵体系不事变的场景,而这种场景完全可以由 Kafka 层面的 Replication 机制去办理。假如为了担保这种环境下数据不丢失而逼迫将 Page Cache 中的数据 Flush 到磁盘,反而会低落机能。也正因云云,Kafka 固然提供了 flush.messages 和 flush.ms 两个参数将 Page Cache 中的数据逼迫 Flush 到磁盘,可是 Kafka 并不提议行使。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读