繁体   English   中英

如何配置Mongodb的缓存大小?

[英]How do I configure the cache size for Mongodb?

我需要在Mongodb中处理现金,这样做需要大量RAM吗? 在这种情况下,使用存储引擎有什么特色和优势?

  1. 方法(重启后无法生存):

    ./bin/mongo管理员

    db.adminCommand({“ setParameter”:1,“ wiredTigerEngineRuntimeConfig”:“ cache_size = 10G”})

  2. 开始使用mongodb

    ./bin/mongod --config server.conf --wiredTigerCacheSizeGB = 10

--- server.conf(每行一个键/值)-

maxConns=200
logpath=logs/server.log
logappend=true
fork=true
dbpath=data
nohttpinterface=true
syncdelay=60
quiet = true
slowms = 2000
notablescan = false

使用以下命令检查大小:

> db.serverStatus().wiredTiger.cache
{
        "bytes currently in the cache" : 4606522365,
        "bytes read into cache" : 3291056,
        "bytes written from cache" : 5631783282,
        "checkpoint blocked page eviction" : 0,
        "eviction currently operating in aggressive mode" : 0,
        "eviction server candidate queue empty when topping up" : 448,
        "eviction server candidate queue not empty when topping up" : 0,
        "eviction server evicting pages" : 0,
        "eviction server populating queue, but not evicting pages" : 447,
        "eviction server unable to reach eviction goal" : 0,
        "eviction worker thread evicting pages" : 12,
        "failed eviction of pages that exceeded the in-memory maximum" : 0,
        "files with active eviction walks" : 0,
        "files with new eviction walks started" : 105,
        "hazard pointer blocked page eviction" : 0,
        "in-memory page passed criteria to be split" : 896,
        "in-memory page splits" : 448,
        "internal pages evicted" : 0,
        "internal pages split during eviction" : 0,
        "leaf pages split during eviction" : 13,
        "lookaside table insert calls" : 0,
        "lookaside table remove calls" : 0,
        "maximum bytes configured" : 10737418240,  <---- this is the configured size
        "maximum page size at eviction" : 8388576,
        "modified pages evicted" : 13,
        "modified pages evicted by application threads" : 0,
        "page split during eviction deepened the tree" : 0,
        "page written requiring lookaside records" : 0,
        "pages currently held in the cache" : 675,
        "pages evicted because they exceeded the in-memory maximum" : 1,
        "pages evicted because they had chains of deleted items" : 448,
        "pages evicted by application threads" : 0,
        "pages queued for eviction" : 12,
        "pages queued for urgent eviction" : 0,
        "pages read into cache" : 234,
        "pages read into cache requiring lookaside entries" : 0,
        "pages seen by eviction walk" : 25702,
        "pages selected for eviction unable to be evicted" : 0,
        "pages walked for eviction" : 127975,
        "pages written from cache" : 310352,
        "pages written requiring in-memory restoration" : 0,
        "percentage overhead" : 8,
        "tracked bytes belonging to internal pages in the cache" : 316858,
        "tracked bytes belonging to leaf pages in the cache" : 4606205507,
        "tracked bytes belonging to overflow pages in the cache" : 0,
        "tracked dirty bytes in the cache" : 809239633,
        "tracked dirty pages in the cache" : 190,
        "unmodified pages evicted" : 0
}

dba是合适的地方。 如果您使用的是WiredTiger,所有可用的RAM和动态配置,则已经定义了缓存。

以GB为单位的WT缓存大小的更简洁输出是:

db.serverStatus()。wiredTiger.cache [“已配置的最大字节数”] / 1024/1024/1024 64

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM