首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WiredTiger内部缓存

WiredTiger内部缓存
EN

Database Administration用户
提问于 2017-06-12 10:27:38
回答 2查看 5.3K关注 0票数 1

MongoDB文档FAQ (https://docs.mongodb.com/manual/faq/storage/#wiredtiger-storage-engine)中指出了这一点:

避免将WiredTiger内部缓存大小增加到其默认值以上。

默认情况下,这应该是RAM的50 % ou 60 %。

storage.wiredTiger.engineConfig.cacheSizeGB限制WiredTiger内部缓存的大小。操作系统将为文件系统缓存使用可用的空闲内存,这允许压缩的MongoDB数据文件留在内存中。

我不明白这句话。WT缓存是否包含压缩数据和索引的工作集?如果是这样的话,我们是否需要为MongoDB数据文件保留一些内存映射文件的额外内存?

我的db.serverStatus().mem显示如下:

代码语言:javascript
复制
{
    "bits" : 64,
    "resident" : 10518,
    "virtual" : 12131,
    "supported" : true,
    "mapped" : 0,
    "mappedWithJournal" : 0
}

所以我猜我没有内存映射的字节,那么我可以增加de缓存?

谢谢!

EN

回答 2

Database Administration用户

回答已采纳

发布于 2017-06-12 12:12:18

我们是否需要为MongoDB数据文件保留一些内存映射文件的额外内存

mem.mappedmem.mappedWithJournal输出中的度量标准仅适用于MMAPv1存储引擎,因此对于WiredTiger,预期为0。这些指标早于存储引擎API (和WiredTiger),因此可能会在某个时候移到serverStatus中特定于存储引擎的部分。

WT缓存是否包含压缩数据和索引的工作集?

WiredTiger内部缓存用于未压缩数据,这是与磁盘上的压缩数据格式不同的表示形式。WiredTiger缓存之外的内存可用于文件系统缓存(它缓存磁盘上的表示,包括压缩)以及其他临时内存需求,如每个连接开销(每个连接1MB)、内存中的排序、聚合和JavaScript上下文。

工作集是应用程序经常访问的数据和索引的总集。为了获得最好的性能,这应该最好地适合于RAM。一个更大的WiredTiger缓存将允许更多的未压缩数据在内存中使用,而牺牲了用于其他目的的内存。如果您的数据显著压缩,那么文件系统缓存的更多空闲内存将允许在RAM (未压缩+压缩数据)中设置更大的总工作集。

所以我猜我没有内存映射的字节,那么我可以增加de缓存?

根据MongoDB文档,通常应该将WiredTiger缓存保留在默认大小(甚至可能减少此值)。您可以尝试为您的工作负载和部署调整缓存大小,但是设置过大可能会对性能产生不利影响。

票数 3
EN

Database Administration用户

发布于 2017-06-12 11:47:15

答案是不!首先,因为你在看错误的信息。因为您使用的是wiredTiger,所以您应该看上去像db.serverStatus().wiredTiger.cache

很多信息但是

代码语言:javascript
复制
"bytes currently in the cache" : 88404

告诉你现在的情况

代码语言:javascript
复制
"maximum bytes configured" : 19327352832

最大缓存大小(内存的50%)

代码语言:javascript
复制
"bytes read into cache" : 43999,
"bytes written from cache" : 88126

自启动以来,从磁盘读取了多少数据(并将其写回)

MongoDB还需要这个缓存之外的额外内存,用于聚合、排序、连接管理等,因此确保为MongoDB留出足够的内存来完成其工作非常重要。否则,MongoDB有可能被操作系统内存不足(OOM)杀手杀死。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/176035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档