AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 94340
Accepted
viren
viren
Asked: 2015-03-04 21:56:46 +0800 CST2015-03-04 21:56:46 +0800 CST 2015-03-04 21:56:46 +0800 CST

Mongo Db 服务器状态与有线 Tiger

  • 772

我正在使用 Mongo 3.0 WiredTiger 设置测试我的数据库。使用wiredTIger 恢复我的数据库后,我运行了db.serverStatus。我在控制台输出中发现了以下内容。

"bytes currently in the cache" : 6009288998 (5.5 GB),
"maximum bytes configured" : 7516192768 (7 GB),
"bytes read into cache" : 18380155206 (17 GB),
"bytes written from cache" : 17020204785 (16 GB),

你能告诉他们这个输出是什么意思吗?

我的服务器中有 16 GB RAM。数据库配置如下:

MongoD instance 1
Databases 4
Original Data size with 2.6.4 : DB1- 25 GB, DB2- 19 GB, DB3- 5 GB, DB4- 3 GB
With wiredTiger : DB1- 3 GB, DB2- 1.9 GB, DB3- 0.9 GB, DB4- 0.5 GB

我一直在寻找更新性能,但似乎性能似乎下降了,当使用 23000 更新命令在 DB3 上运行批量更新时,我在 Mongostat 中看到了这一点

    insert query update delete getmore command % dirty % used flushes vsize  res qr|qw ar|aw netIn netOut conn     time
        *0    *0     *0     *0       0     2|0     0.6   80.0       0  7.7G 7.4G   0|0   1|1  137b    15k    6 11:21:27
        *0    *0     *0     *0       0     3|0     0.9   79.9       0  7.7G 7.4G   0|0   1|1  195b    15k    6 11:21:28
        *0    *0     *0     *0       0     1|0     1.2   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:29
        *0    *0     *0     *0       0     1|0     1.4   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:30
        *0    *0     *0     *0       0     2|0     1.7   79.9       0  7.7G 7.4G   0|0   1|1  133b    15k    6 11:21:31
        *0    *0     *0     *0       0     1|0     2.0   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:32
        *0    *0     *0     *0       0     3|0     2.2   80.0       0  7.7G 7.4G   0|0   1|1  195b    15k    6 11:21:33
        *0    *0     *0     *0       0     1|0     2.4   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:34
        *0    *0     *0     *0       0     1|0     2.6   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:35
        *0    *0     *0     *0       0     2|0     2.9   80.0       0  7.7G 7.4G   0|0   1|1  133b    15k    6 11:21:36
    insert query update delete getmore command % dirty % used flushes vsize  res qr|qw ar|aw netIn netOut conn     time
        *0    *0     *0     *0       0     1|0     3.0   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:37
        *0    *0     *0     *0       0     3|0     3.1   80.0       0  7.7G 7.4G   0|0   1|1  195b    15k    6 11:21:38
        *0    *0     *0     *0       0     1|0     3.3   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:39
        *0    *0     *0     *0       0     1|0     3.5   80.0       0  7.7G 7.4G   0|0   1|1   79b    15k    6 11:21:40
        *0    *0     *0     *0       0     2|0     3.7   80.0       0  7.7G 7.4G   0|0   1|1  133b    15k    6 11:21:41

如果您看到dirty% 不断增加。同样在完成更新后,我没有改变 Db(没有读写)但我仍然得到 netIn 和 netOut 显示字节。

您能否检查一下行为并进行更多解释,因为 Mongo DB 文档部分没有详细显示任何内容或这些参数。

另外,我不确定索引压缩是否也降低了 RAM 需求。

mongodb compression
  • 1 1 个回答
  • 3491 Views

1 个回答

  • Voted
  1. Best Answer
    Asya Kamsky
    2015-09-10T14:46:42+08:002015-09-10T14:46:42+08:00

    “当前缓存中的字节数”:6009288998(5.5 GB),“最大字节数

    当前在wiredTiger 缓存中的字节数。

    已配置”:7516192768(7 GB),

    配置了最大大小的缓存(默认为服务器上物理内存的一半)。

    “读入缓存的字节数”:18380155206(17 GB),

    自启动以来已读入缓存的累积字节数。

    “从缓存写入的字节数”:17020204785(16 GB),

    自启动以来已从缓存写入磁盘上文件的累积字节数。

    使用 23000 更新命令对 DB3 进行批量更新

    您运行了一个包含 23K 更新操作的命令,因此您看到了您应该预期的结果 - 您可以在 mongostat 输出中看到命令不断运行并且您始终有活动的编写器。

    如果您确实想要高吞吐量,您应该使用多个线程并行发送操作,以允许使用机器上的所有内核。

    看到dirty%不断增加

    这表明实际上写入正在发生 - 正在写入(脏)的缓存的百分比越来越高。当检查点开始运行时,脏百分比将下降,表示缓存中的数据正在持久化到磁盘(当然,在原始写入时,它也已写入预写日志,即日志)。

    索引压缩是否也降低了 RAM 需求

    是的,索引是前缀压缩的,并且磁盘和 RAM 中的格式相同。

    • 1

相关问题

  • 使用集群设置 Mongo

  • MongoDB 的 find 和 findone 调用之间的区别

  • SQL 2008 Merge Replication 和表级数据压缩

  • 分片对小集合有效吗?

  • 关于操作/管理 MongoDB 的良好资源

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve