gpt4 book ai didi

mongodb - MongoDB 的插入操作变得非常慢

转载 作者:行者123 更新时间:2023-12-03 15:59:06 24 4
gpt4 key购买 nike

客户端是pymongo。

该计划已运行一周。之前插入数据确实很快:大约1000万条/30分钟。

但是今天我发现插入操作变得非常非常慢。

目前商品集合中约有1.2亿条记录。

> db.goods.count()

123535156

收货索引如下:

db.goods.getIndexes();

[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "shop.goods",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"item_id" : 1,
"updated_at" : -1
},
"unique" : true,
"ns" : "shop.goods",
"name" : "item_id_1_updated_at_-1"
},
{
"v" : 1,
"key" : {
"updated_at" : 1
},
"ns" : "shop.goods",
"name" : "updated_at_1"
},
{
"v" : 1,
"key" : {
"item_id" : 1
},
"ns" : "shop.goods",
"name" : "item_id_1"
}
]

并且有足够的 RAM 和 CPU。

有人告诉我,因为记录太多了。但没有告诉我如何解决这个问题。我对 MongoDB 有点失望。

future 需要存储的数据会更多(每天大约5000万条新记录)。有什么解决办法吗?

在另一台服务器上遇到同样的情况(这次数据较少,总共约4000万条),当前插入速度约为每秒5条记录。

> db.products.stats()
{
"ns" : "c2c.products",
"count" : 42389635,
"size" : 554721283200,
"avgObjSize" : 13086.248164203349,
"storageSize" : 560415723712,
"numExtents" : 283,
"nindexes" : 3,
"lastExtentSize" : 2146426864,
"paddingFactor" : 1.0000000000132128,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 4257185968,
"indexSizes" : {
"_id_" : 1375325840,
"product_id_1" : 1687460992,
"created_at_1" : 1194399136
},
"ok" : 1
}

最佳答案

我不知道这是否是你的问题,但请记住,MongoDB 必须为每个插入更新索引。因此,如果您有很多索引和很多文档,性能可能会低于预期。

也许,您可以使用分片来加速插入操作。您在问题中没有提到它,所以我猜您没有使用它。

无论如何,您能给我们提供更多信息吗?您可以使用 db.goods.stats()、db.ServerStatus 或 any of theese other methods收集有关数据库性能的信息。

关于mongodb - MongoDB 的插入操作变得非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20296113/

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