我们在Azure上使用MongoDB作为虚拟机(A3)。我们正在尝试模拟在以下情况下使用MongoDB的运行成本:
场景是由100,000个客户每5分钟插入/更新大约2k数据量(时间序列数据)。我们在Azure上的Windows Server的A3实例(4核)上使用MongoDB(每个分片限制4TB)。
当我们估算运营成本时,它每月约为34,000美元 - 其中包括MongoDB许可,我们的MongoDB虚拟机,存储,备份存储和工作者角色。
这是昂贵的。我们有一些想法可以降低成本,但需要对这些想法提出一些建议,因为你们中的一些人可能已经这样做了。
两个问题: 1-截至今天,我们估计将使用28个MongoDB实例(限制为4 TB)。我已经读过,我们可以在Linux VM或Windows Server 2012服务器上将磁盘大小从4TB增加到64 TB。这可能会减少我们所需的分片数量。是否可以在Azure中以64TB磁盘大小分片运行MongoDB?
您可能会问为什么28个实例..
2-我们正在根据"每个核心的插入次数计算我们所需的碎片数量&#34 ;;这本身取决于每封邮件在MongoDB中插入的值的数量。每个值是82个字节。我们做了一些负载测试,结果表明我们每秒只能运行8000次插入,每个核心可以处理大约。每秒193次插入 - 导致需要41个核心(太高)。您可以将41个核心/ 4分成A3 11个实例 - 这是另一个成本....
寻求帮助以查看 - 如果我们的计算错误或我们设置的方式是错误的。
任何帮助将不胜感激。
答案 0 :(得分:0)
问题nr。 1:
1-截至今天,我们估计将使用28个MongoDB实例(4个 TB限制)。我已经读过,我们可以将磁盘大小从4TB增加到 Linux VM或Windows Server 2012服务器上的64 TB。这可能会减少我们的 需要的分片数量。在64TB磁盘大小的分片上运行MongoDB 在Azure中可能吗?
根据documentation here,您可以达到的最大值为16TB,即附加16个数据磁盘,最大值。每个1 TB。因此,从技术上讲,您可以连接的最大磁盘是1TB,但是您可以在连接了16个磁盘的情况下构建RAID 0条带,这样您就可以获得16TB存储。但这(16TB)是您可以正式获得的最大存储量。
答案 1 :(得分:0)
根据Azure文档,A3大小最多可包含8个数据磁盘。所以最多8TB。 A4可以处理16个磁盘。我认为你的瓶颈是磁盘而不是核心数量。所以我不相信你需要这么大的集群。