惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Troy Hunt's Blog
P
Proofpoint News Feed
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
K
Kaspersky official blog
Cyberwarzone
Cyberwarzone
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
S
Securelist
L
Lohrmann on Cybersecurity
Security Latest
Security Latest
T
Threatpost
H
Heimdal Security Blog
W
WeLiveSecurity
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
TaoSecurity Blog
TaoSecurity Blog
A
About on SuperTechFans
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Azure Blog
Microsoft Azure Blog
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
量子位
Stack Overflow Blog
Stack Overflow Blog
Know Your Adversary
Know Your Adversary
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
AI
AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
Vercel News
Vercel News
C
Cyber Attacks, Cyber Crime and Cyber Security
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
Forbes - Security
Forbes - Security

MongoDB

求助,谁会用那个 mongoDB 的云数据库啊,帮看看咋链接报错呢 - V2EX mongodb 自托管到底支持 vector 搜索吗 大佬们,急需请教,遇到大困难 - V2EX 有啥好用的 mongodb GUI 工具 - V2EX mongodump 出来的文件为什么比数据库本身大了一倍多?数据库大小只有 100GB, dump 出来的 bson 有 242GB,硬盘放不下了,怎么不占用硬盘空间备份数据到其它机器? - V2EX 想请教一下, mongoDB 是否适合海量数据存储 - V2EX MongoDB 如何优化到跟 MySQL 资源占用一样低? - V2EX 新人小白求教 - V2EX mongodb 新手虚心请教大佬们 - V2EX 请教大家一个 mongodb 大数据量下, count 优化的问题 - V2EX MongoDB 的 findOneAndUpdate 并发问题 - V2EX 求助大佬们: Mongo DB Compass 加 socks5 代理连不上 MongoDB Atlas 上的库 - V2EX 关于远程 mongodb 数据同步到本地 Elasticsearch 问题 - V2EX mongodb 日志文件巨大,怎么读取,以及怎么限制其大小? 江湖救急,冷备数据恢复 - V2EX 感觉 Mongodb 的权限管理有点复杂 - V2EX MongoDB 有什么比较新的入门教程吗? - V2EX 有没有觉得用 typescript 写 mongoose 好蛋疼 - V2EX mongodb 生产环境创建索引 - V2EX 刚用 mongodb,请教下类似 MySQL 的「select ... for update」大伙都是如何替代? - V2EX 求一个好用的 MongoDB 管理工具~ - V2EX mongodb 只剩硬盘上的数据库文件要怎么恢复 - V2EX 用不存在的字段的子字段 lookup 时,分组后该字段值会变成空对象,如何变成 null - V2EX 各位 javaer MongoDB 用的什么 orm - V2EX mongodb lookup 使用请教 - V2EX monodb 内存占满,进程退出 - V2EX 12 月 14 日上海新天地朗廷酒店,我司赞助的 MongoDB Day 上海站,欢迎大家联系我注册报名。 - V2EX mongoose 外键查询问题 - V2EX MongDB upsert 时新增的字段不能更新值 - V2EX 大佬们,请问如何通过 go.mongodb.org 的驱动允许集合分片啊,他的驱动不支持运行脚本吗? - V2EX nodejs mongodb - V2EX MongoDB 什么量子数据库 - V2EX 求助, Failed with error 'aborted',是什么情况,应该怎么处理 - V2EX 请教大佬: mongo4.2 多个事务修改 document 报 WriteConflict - V2EX mongodb 数据全量加载到 redis,怎样提升速度? - V2EX 请教一个查询统计的语句 - V2EX Mongodb 怎样对 key 进行模糊查询? - V2EX 请教 mongo 连接问题 - V2EX Mongodb 字符串转 ObjectId - V2EX 问个增量更新的办法。 - V2EX 求助, MongoDB 中查找如何做到完全匹配 - V2EX MongoDB 事务 + Promise.all(),会有部分数据操作失败。这是为啥? - V2EX mongodb 中的递归查找子目录 - V2EX 求助 启动服务后执行程序就自动退出 - V2EX 列了 MongoDB 的 Golang 使用,注入攻击防范需要注意的点,请大家看看还有其他需要注意的没? - V2EX 求助帖 - V2EX mongodb 查询问题 - V2EX mongodb 连接加上 auth 认证后,数据库切换会花掉 0.5 秒 ,多个数据库间切换时会很慢。
大佬们,大问题请教,内存占满 - V2EX
iamtuzi3333 · 2024-09-19 · via MongoDB

这是一个创建于 633 天前的主题,其中的信息可能已经有所发展或是发生改变。

小弟用 MongoDB 存储实时数据,都是传感器数据,十几个传感器,每秒都有数据发过来,需要实时存储,目前用了一个队列去一遍存一遍入库,集合都是分散开的,但是发现一个很严重的问题就是会把服务器的备用内存持续压榨,导致可用内存越来越小,用的 Window Server 服务器,192GB 只剩下十几 M ,可用内存,这个太夸张了,而且看进程 mongod.exe 这个进程占了 5 万多 MB ,很夸张,目前小弟也没有方法能立马排查出来,有大佬有过这个经验吗,请大佬指教一下。

pxllong

2

pxllong      2024 年 9 月 19 日

WiredTiger 这几个参数贴下

iamtuzi3333

4

iamtuzi3333      2024 年 9 月 19 日

@liprais 但是吃的太厉害了,影响其他项目运行了,现在很难受,我不知道怎么改好一点,虽然他确实很好用,在考虑要不要换其他数据库了

iamtuzi3333

6

iamtuzi3333      2024 年 9 月 19 日

@liprais 有道理,我申请一下多节点服务器,但是这个估计有点难,1 这个我限制了一半内存,明天看看是啥效果,谢谢大佬解答。

hiwind

8

hiwind      2024 年 9 月 19 日

你有多少传感器数据需要频繁查询的,可以考虑下冷热分离,冷数据换别的存储方式,定期任务进行冷热数据迁移

iamtuzi3333

10

iamtuzi3333      2024 年 9 月 19 日

@dejavuwind 不需要频繁查询,但是有时候需要翻查历史某一段时间的数据,我看过时序数据库,但是部分是单个时间单个数据,我的数据是{id:1,data:[1,2,3]}这种,有多个字段,data 是个浮点数数组,有时候会是 200 个数字。而且每个传感器一张表,时序数据库好像不太适合。热数据我都放在了 Redis 的队列中了。

iamtuzi3333

11

iamtuzi3333      2024 年 9 月 19 日

@pxllong 没法发图片,我打出来部分信息,每秒输出打印 10 条左右,有个 vsize 数据每条都是 6.49G ,

iamtuzi3333

12

iamtuzi3333      2024 年 9 月 19 日

@pxllong 复制了一条,大概就是这样
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
*0 *0 *0 *0 0 0|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 111b 59.8k 6 Sep 19 19:25:06.463
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 112b 59.9k 6 Sep 19 19:25:07.463
*0 *0 *0 *0 0 0|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 111b 59.8k 6 Sep 19 19:25:08.463
*0 *0 *0 *0 0 0|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 111b 59.8k 6 Sep 19 19:25:09.464
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 112b 59.9k 6 Sep 19 19:25:10.463
*0 *0 *0 *0 0 4|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 514b 60.8k 6 Sep 19 19:25:11.463
*0 *0 *0 *0 0 0|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 111b 59.8k 6 Sep 19 19:25:12.464
*0 *0 *0 *0 0 0|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 111b 59.8k 6 Sep 19 19:25:13.464
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 112b 59.9k 6 Sep 19 19:25:14.464
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 6.49G 255M 0|0 0|0 321b 60.5k 6 Sep 19 19:25:15.464

iamtuzi3333

13

iamtuzi3333      2024 年 9 月 19 日

目前项目我停掉了,占用太多了,估计 mongo 就是吃内存,这个似乎是他原本就这么设计的。

iamtuzi3333

15

iamtuzi3333      2024 年 9 月 19 日

@wheat0r 这个倒不会,同台服务器上面有个 sqlserver ,MySQL ,上面也是存了大量数据,但是未发现有这么吃内存,而且现在发现 mongo 太迟了,他的底层是内存映射( Memory-Mapped Files ) 来处理数据库文件,目的是尽可能将数据库数据加载到内存中以提高读写性能。MongoDB 默认会尽量使用可用的内存来缓存数据文件和索引,因此当数据集较大时,mongod.exe 可能会占用大量内存。
现在这是个无底洞,而且不会自动清除映射文件,全是占用在备用内存中,导致可用内存越来越少。现在我在想找新的数据库来替换了。

wheat0r

16

wheat0r      2024 年 9 月 20 日

@iamtuzi3333 #15 会的,sqlserver 默认的最大内存占用参数是 2,147,483,647 megabytes (MB),运行一段时间后就会将内存占满。mysql 也存在类似情况,但是不像 sqlserver 一样饥渴。

ShuA1

17

ShuA1      2024 年 9 月 20 日

@wheat0r mysql 也存在类似情况,但是不像 sqlserver 一样饥渴。
可能是你配置的问题, 一样可以吃满

yinft

18

yinft      2024 年 9 月 20 日

哈哈 我们的项目用容器搭的 docker ,我直接限制容器最大内存占用了,简单粗暴

AlanBrian

23

AlanBrian      2024 年 9 月 20 日

你说它占用 5 万 M ,这不是和你设置的 50GB 很符合吗? mongodb 就是会尽可能使用多的内存。想要降低只能把 WiredTiger 内存设置往下降。

lingex

24

lingex      2024 年 9 月 20 日

设置 50G ≈ 50000M ,没有问题吧?

MongoDB 默认最大占用: (物理内存 - 1) / 2 GB

jason56

25

jason56      2024 年 9 月 20 日

试试 storageEngine = wiredTiger

jason56

26

jason56      2024 年 9 月 20 日

少贴一行 wiredTigerCacheSizeGB=2

SWALLOWW

27

SWALLOWW      2024 年 9 月 20 日

它快不就是用内存吗

bcllemon

29

bcllemon      2024 年 9 月 20 日

这个数据是一定要存 mongodb 吗? 是不是可以考虑换时序数据库

KingPL

30

KingPL      2024 年 9 月 20 日

业务场景应该选用时序数据库

Yasuke

31

Yasuke      2024 年 9 月 20 日

试试 influxdb 、tdengine

GodIsJasonBourne

32

GodIsJasonBourne      2024 年 9 月 20 日

工作缘故,我看过一遍 mongodb 文档说的明白,它就是会最大限度利用内存,加速读写。 楼上也说的很明白,从存储引擎设为 wiredTiger+配置 cacheSize 入手去优化。

975779964

33

975779964      2024 年 9 月 20 日

`而且每个传感器一张表,时序数据库好像不太适合`

你是有多少传感器? 目前我们做的项目 监听 4 万多个传感器数据上报 ,每个传感器 差不多 每 5 秒 2~3 条数据上报,用的 tdengine 和 influxdb ,已经跑了 1 年多了,目前没啥问题

ktonline

34

ktonline      2024 年 9 月 20 日

用时序数据库啊 兄弟,哪怕 es 也行

iamtuzi3333

36

iamtuzi3333      2024 年 9 月 20 日

@bcllemon 时序数据库我还在找,但是数据是 JSON 对象,关键的字段 data 是一个数组,时序数据库大部分是存单个值,不太符合。
@KingPL 目前是还在找。
@975779964 目前传感器会有几百个,然后数据格式都是 JSON ,其中设备不同,字段也不同,然后传感器每秒上传数据,其中数据有多个字段,其中一个字段是数组,存的元素比较多,几百个,目前看了 influxdb ,他好像只支持单值存储,还有其他好推荐的吗。每个传感器单表就是不想多传感器数据混合在一起,最多的业务场景就是突然要查询某一段的历史数据。
@ktonline 这个全称是啥,大佬指点一下。

iamtuzi3333

37

iamtuzi3333      2024 年 9 月 20 日

重要的业务场景就是存储不同传感器设备数据,保障完整性,可用性,然后一个需求就是能够方便查询数据,这也是我为什么想单个传感器单表存储,传感器数量多,数据比较高频,字段比较多,有没有大佬指点一下这方面改用啥时候好用一点,后台用 nodejs 或者 Java 写查询功能多一点。目前公司就我一个人顶着,有点难顶,还请各位大佬指教,服务器用的 Window server ,华为云服务器,配置不会太差,此前有个项目有 600 多个传感器,也用的 MongoDB ,一启动内存就慢慢被占用满,导致可用内存越来越少,影响其他项目运行。数据除了存库还有个写入文件保存,目前初步排查是因为写入速度跟不上接入速度,导致数据跟文件全部堆积在内存中。

AlanBrian

38

AlanBrian      2024 年 9 月 20 日

不确定你这个 mongodb 是怎么部署的,我们的业务场景 mongodb 写入速度拉满,1 小时能写入好几亿的数据。可能跟机器的性能也有关系。

xsi640

40

xsi640      2024 年 9 月 20 日

这种场景,时序数据库不是更适合么?

Haku

42

Haku      2024 年 9 月 20 日

MongoDB 好像是这样的,狂吃内存,而且它不是只吃一点,不限制的话是你给多少吃多少那种。
建议要么和别的服务分开放,要么就用参数摁死了。

iamtuzi3333

43

iamtuzi3333      2024 年 9 月 20 日

@Haku 参数都按不死,疯狂吃,吃的只剩下十几 M 可用,内存一看全是映射文件占着茅坑。

juvenn

44

juvenn      2024 年 9 月 21 日

[#12]( https://v2ex.com/t/1074136#r_15281543)

从 12 楼的统计看这个读写吞吐都很低,不应该占用这么高的内存。感觉还是哪里配置有问题。(我们有生产用的多个 mongo 集群,32GB 内存上千的 qps 都没有压力。)

1. 不要用 MMap ,切到 WiredTiger 。
1. 传感器的数据模型,最好用时序数据库。比如 GreptimeDB ,支持 binary ,可以存 json 或者数组。
1. 如果对查询实时性要求不高,也可以用 ClickHouse ,支持 json ,数组等。列式存储,压缩比率和查询效率都很高。

iamtuzi3333

45

iamtuzi3333      2024 年 9 月 23 日

@juvenn 我目前就是使用的 WiredTiger 引擎,然后数据模型都是 JSON ,插入的时候我特地转为 JSON 插入,查询的实时性要求性不高,现在招人初步判断就是因为写入数据速度太慢,跟不上接收数据的速度,导致全部堆积在内存中。

roundgis

46

roundgis      2025 年 1 月 16 日 via Android

@iamtuzi3333 你用的什麼版本

mongodb 老早默認就改用 wiredtiger 了

那個可以指定內存使用量最低 256m

我在 1g 的虛機都跑過