- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Scylla 如何保证/保持写入工作负载情况的低写入延迟,因为更多的写入会产生更多的内存刷新和压缩?有节流吗?如果有人可以回答,那将非常有帮助。
最佳答案
从本质上讲,Scylla 通过并行化问题来提供一致的低延迟,然后适本地优先考虑面向用户的任务和后台任务。
并行化 - Scylla 使用每线程分片架构。每个线程负责其 token 范围内的所有事件。读取、写入、压缩、修复等。
优先 - 每个线程根据任务的优先级进行调度。处理读取(查询)和写入(提交日志)等高优先级任务获得最高优先级。诸如内存刷新、压缩和修复之类的后台任务仅在有空闲周期时才完成。其中——考虑到现代 CPU 的纳秒级——通常有。
如果没有足够的空闲周期,并且 RAM 或磁盘开始填充,Scylla 将提高后台任务的优先级以保存节点。实际上,这会注入(inject)一些延迟。但这表明您可能身材矮小,应该添加一些资源。
我建议从 https://go.scylladb.com/real-time-big-data-database-principles-offer.html 的 Scylla 架构白皮书开始。 .在 https://www.scylladb.com/resources/tech-talks/ 上也有许多来自 Scylla 开发人员的深入讨论。
例如,https://www.scylladb.com/2020/03/26/avi-kivity-at-core-c-2019/深入讨论 shard-per-core。
https://www.scylladb.com/tech-talk/oltp-or-analytics-why-not-both/深入讨论任务优先级。
关于latency - Scylla 如何处理写入工作负载的激进 memflush 和压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63160402/
我是一名优秀的程序员,十分优秀!