Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database MongoDB中的写操作是如何发生的?_Database_Mongodb_Caching_Nosql_Wiredtiger - Fatal编程技术网

Database MongoDB中的写操作是如何发生的?

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有显著改进。它还提供了压缩和加密的好处

MongoDB使用WiredTiger存储引擎来处理写操作,它还使用50%的可用缓存。所以我想了解wiredTiger如何使用缓存写入数据。为什么默认情况下它需要50%的缓存?如果缓存大小减小到10-20%,将对写操作产生多大影响?

对于MongoDB 3.2版,WiredTiger是默认的存储引擎。

WiredTiger在文档级别执行锁定。这减少了锁。而且,它允许我们同时读取或更新集合中的多个文档

WiredTiger存储引擎在性能和并发性方面比MMAPv1有显著改进。它还提供了压缩和加密的好处

默认情况下,MongoDB将为WiredTiger数据缓存保留50%的可用内存。此缓存的大小对于确保WiredTiger充分执行非常重要。 一个好的经验法则是缓存的大小应该足够大,以容纳整个应用程序工作集

db.serverStatus().wiredTiger.cache
wiredTiger.cache.maximum
bytes configured:这是最大缓存大小

wiredTiger.cache.bytes当前在缓存中–这是缓存中当前数据的大小。这不应大于配置的最大字节数

wiredTiger.cache.tracked
缓存中的脏字节–这是缓存中脏数据的大小。此值应小于缓存值中当前的字节数


查看这些值,我们可以确定是否需要增大实例的缓存大小。此外,我们还可以查看重读应用程序的
wiredTiger.cache.bytes
read-into-cache值。如果该值始终较高,则增加缓存大小可能会提高整体读取性能。

是的,我知道了,但我的问题非常具体,wiredTiger如何利用其缓存。