Raspberry Pi 3B+ RAM 施加的限制 [已关闭]

Limitations imposed by Raspberry Pi 3B+ RAM [closed]

提问人:gatorback 提问时间:11/16/2023 最后编辑:gatorback 更新时间:11/16/2023 访问量:39

问:


这个问题似乎不是关于特定的编程问题、软件算法或程序员主要使用的软件工具。如果您认为该问题在另一个 Stack Exchange 站点上是主题,您可以发表评论以解释该问题可能在哪里得到回答。

8天前关闭。

MQTT 消息将保存到 RDBMS。假设:

  • RDBMS是一个MySQL数据库;如果有更好的数据库,请在您的回复/分析中说明这一点
  • Raspberry Pi 3B+ (1GB RAM) 配备 USB SSD
  • 每秒最多 200 条消息
  • 消息是 75 个 ASCII 字符,要解析为 15 个字段

至少需要 15KB 的 RAM 缓冲区来缓冲 1 秒的数据。因此,1MB 的 RAM 缓冲区将缓冲 66 秒(~1 分钟)。

按照今天的标准,1GB的RAM并不多,无法升级。RAM是否施加了限制(例如消息速率),是否有方法可以计算限制的轮廓?

我想如果 3B+ 硬件成为限制,我可以简单地将 3B+ 换成 rpi 4 或 5 和 8GB RAM?

mysql 树莓派 MQTT

评论

2赞 Andrew Morton 11/16/2023
测试时发生了什么?你也可以说,按照今天的标准,USB 2.0并不多。
0赞 gatorback 11/16/2023
@AndrewMorton USB 2.0 = 480 兆比特/秒,我相信消息速率是 200 *75 * 8 是 0.12 兆比特/秒。此计算表示显著的边距。期待本周末建造它
0赞 The Impaler 11/16/2023
1 MB = 1 分钟,1 GB = 1000 分钟(16 小时)。你真的需要超过 16 小时的缓冲吗?我希望你应该每分钟左右冲一次。
0赞 gatorback 11/16/2023
@TheImpaler rPi3 的操作系统 / MySQL 将使用很大一部分 (TBD) 的 1GB RAM。我同意每分钟或 30 秒刷新一次缓冲区是有意义的。我不倾向于冒着 16 小时数据故障的风险。我有一套新的 3B+ 是在 2019 年购买的,如果它们能完成这项工作,我想将它们投入使用
0赞 Brits 11/16/2023
您没有说明您在这里要解决的问题(即为什么要缓冲数据)。如果您接受消息并将它们写入无法跟上的数据库,那么最终您将耗尽内存。“如果有更好的数据库”在不了解您的用例的情况下无法回答这个问题(如果您只想存储它,那么将原始数据存储到文件系统会更快)。

答: 暂无答案