Database MongoDB中的写操作是如何发生的?
MongoDB使用WiredTiger存储引擎来处理写操作,它还使用50%的可用缓存。所以我想了解wiredTiger如何使用缓存写入数据。为什么默认情况下它需要50%的缓存?如果缓存大小减小到10-20%,将对写操作产生多大影响?对于MongoDB 3.2版,WiredTiger是默认的存储引擎。 WiredTiger在文档级别执行锁定。这减少了锁。而且,它允许我们同时读取或更新集合中的多个文档 WiredTiger存储引擎在性能和并发性方面比MMAPv1有显著改进。它还提供了压缩和加密的好处 默认情况下,MongoDB将为WiredTiger数据缓存保留50%的可用内存。此缓存的大小对于确保WiredTiger充分执行非常重要。 一个好的经验法则是缓存的大小应该足够大,以容纳整个应用程序工作集Database MongoDB中的写操作是如何发生的?,database,mongodb,caching,nosql,wiredtiger,Database,Mongodb,Caching,Nosql,Wiredtiger,MongoDB使用WiredTiger存储引擎来处理写操作,它还使用50%的可用缓存。所以我想了解wiredTiger如何使用缓存写入数据。为什么默认情况下它需要50%的缓存?如果缓存大小减小到10-20%,将对写操作产生多大影响?对于MongoDB 3.2版,WiredTiger是默认的存储引擎。 WiredTiger在文档级别执行锁定。这减少了锁。而且,它允许我们同时读取或更新集合中的多个文档 WiredTiger存储引擎在性能和并发性方面比MMAPv1有显著改进。它还提供了压缩和加密的好处
db.serverStatus().wiredTiger.cache
wiredTiger.cache.maximum
bytes configured:这是最大缓存大小
wiredTiger.cache.bytes当前在缓存中–这是缓存中当前数据的大小。这不应大于配置的最大字节数
wiredTiger.cache.tracked
缓存中的脏字节–这是缓存中脏数据的大小。此值应小于缓存值中当前的字节数
查看这些值,我们可以确定是否需要增大实例的缓存大小。此外,我们还可以查看重读应用程序的wiredTiger.cache.bytes
read-into-cache值。如果该值始终较高,则增加缓存大小可能会提高整体读取性能。是的,我知道了,但我的问题非常具体,wiredTiger如何利用其缓存。