gpt4 book ai didi

linux - mongodb 和非常高的锁定百分比和低吞吐量

转载 作者:行者123 更新时间:2023-12-02 11:57:44 26 4
gpt4 key购买 nike

我们第一次使用 mongodb 时遇到了一些问题:) 以下是一些事实:

  • 锁定百分比超过 95%
  • 服务器是一个具有 2 个核心、6 GB RAM 的虚拟机,在用于 mongodb 的快速 NAS 上具有 NFS v3 共享 (noatime)。
  • centos 5.7 x86_64、mongo 2.0.2、php-pecl-mongo 1.2.6(不是最新版本,但很快就会更新:)
  • mongo(当前/错误)配置为单个主设备,没有从设备
  • 数据库今天已从头开始创建。 20 个网络服务器正在写入(使用更新)
  • 不确定发送到服务器的更新数量,但处理量非常小
  • 我不确定这是否是索引问题:如何诊断?
  • 当前磁盘数据(包括oplog、journal...)小于600 MB
  • 数据统计:
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 46   1  53   0   0   0|   0  4096B|  42k   19k|   0     0 | 317  5328 48   1  52   0   0   1|   0    92k|  46k 7590B|   0     0 | 321  5308 50   2  48   0   0   0|   0     0 |  39k 7218B|   0     0 | 304  5359 47   1  51   0   0   1|   0     0 |  47k   10k|   0     0 | 332  5679 46   1  52   0   0   0|   0     0 |  44k   15k|   0     0 | 319  5099
  • nfsiostat 为空(0 ops/s)(当然 iostat 也一样)
  • mongostat:
insert  query update delete getmore command flushes mapped  vsize    res faults locked % idx miss %     qr|qw   ar|aw  netIn netOut  conn repl       time     0      0      0      0       0       1       0  1.41g  8.39g   242m      0     96.2          0    0|3280  1|5322    62b     1k  5324    M   21:11:50     0      0      0      0       0       1       0  1.41g  8.39g   242m      0     96.5          0    0|3204  1|5322    62b     1k  5324    M   21:11:51     0      0      0      0       0       1       0  1.41g  8.39g   242m      0       96          0    1|3351  1|5322    62b     1k  5324    M   21:11:52     0      0      1      0       0       1       0  1.41g  8.39g   242m      0     96.9          0    0|3251  1|5322   485b     1k  5324    M   21:11:53     0      0      0      0       1       1       0  1.41g  8.39g   242m      0     95.6          0    0|3280  1|5322   112b     1k  5324    M   21:11:54
  • db.serverStatus()
{        "host" : "foo001",        "version" : "2.0.2",        "process" : "mongod",        "uptime" : 21370,        "uptimeEstimate" : 18626,        "localTime" : ISODate("2012-02-23T20:20:59.589Z"),        "globalLock" : {                "totalTime" : 21369761258,                "lockTime" : 19450568051,                "ratio" : 0.9101911722911022,                "currentQueue" : {                        "total" : 3570,                        "readers" : 0,                        "writers" : 3570                },                "activeClients" : {                        "total" : 5500,                        "readers" : 1,                        "writers" : 5499                }        },        "mem" : {                "bits" : 64,                "resident" : 255,                "virtual" : 8782,                "supported" : true,                "mapped" : 1440,                "mappedWithJournal" : 2880        },        "connections" : {                "current" : 5501,                "available" : 4099        },        "extra_info" : {                "note" : "fields vary by platform",                "heap_usage_bytes" : 81930736,                "page_faults" : 2916        },        "indexCounters" : {                "btree" : {                        "accesses" : 2377,                        "hits" : 2377,                        "misses" : 0,                        "resets" : 0,                        "missRatio" : 0                }        },        "backgroundFlushing" : {                "flushes" : 356,                "total_ms" : 2372,                "average_ms" : 6.662921348314606,                "last_ms" : 0,                "last_finished" : ISODate("2012-02-23T20:20:56.446Z")        },        "cursors" : {                "totalOpen" : 5500,                "clientCursors_size" : 5500,                "timedOut" : 0,                "totalNoTimeout" : 5499        },        "network" : {                "bytesIn" : 51373772,                "bytesOut" : 51176411,                "numRequests" : 176017        },        "repl" : {                "ismaster" : true        },        "opcounters" : {                "insert" : 0,                "query" : 25,                "update" : 142157,                "delete" : 0,                "getmore" : 39053,                "command" : 284        },        "asserts" : {                "regular" : 0,                "warning" : 0,                "msg" : 0,                "user" : 0,                "rollovers" : 0        },        "writeBacksQueued" : false,        "dur" : {                "commits" : 19,                "journaledMB" : 0,                "writeToDataFilesMB" : 0,                "compression" : 0,                "commitsInWriteLock" : 0,                "earlyCommits" : 0,                "timeMs" : {                        "dt" : 3083,                        "prepLogBuffer" : 0,                        "writeToJournal" : 0,                        "writeToDataFiles" : 0,                        "remapPrivateView" : 0                }        },        "ok" : 1}
  • 我们的数据库:
{        "db" : "mydb",        "collections" : 6,        "objects" : 119174,        "avgObjSize" : 323.99872455401345,        "dataSize" : 38612224,        "storageSize" : 57286656,        "numExtents" : 26,        "indexes" : 4,        "indexSize" : 3899952,        "fileSize" : 469762048,        "nsSizeMB" : 16,        "ok" : 1}

有什么提示吗?

问候,

D.

PS:我也将其交叉发布到 mongo-user

最佳答案

请、请、不要使用 NFS 作为数据库后端。存在很多问题,尤其涉及锁定,尤其涉及 NFS < v4。而且由于它们不仅仅是性能问题,因此可能根本不应该考虑 NFS。

我会首先将我的数据库移动到本地磁盘,看看这是否可以解决性能问题 - 我怀疑它会......

编辑:

MongoDB 人 seem to agree ,即使有点简洁,也不推荐使用 NFS。

关于linux - mongodb 和非常高的锁定百分比和低吞吐量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9421261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com