mongodb架构设计与硬件规范

mongodb架构设计与硬件规范,mongodb,Mongodb,目前我们有一个由3个成员组成的副本集,25 GB的数据,正常cpu使用率在两个辅助系统中都是1.5,在主系统中是0.5(仅在辅助实例中读取),通常有1200个用户访问我们的网站。现在我们已经计划增加我们网站的点击率。我们预计约有5000名并发用户访问我们的网站,请您建议无需在我的副本集中添加任何实例 副本集中的当前infra: 1. Primary instance CPUs: 16 RAM: 32 GB HDD: 100 GB 2. Secondary instance CPUs: 8 RA

目前我们有一个由3个成员组成的副本集,25 GB的数据,正常cpu使用率在两个辅助系统中都是1.5,在主系统中是0.5(仅在辅助实例中读取),通常有1200个用户访问我们的网站。现在我们已经计划增加我们网站的点击率。我们预计约有5000名并发用户访问我们的网站,请您建议无需在我的副本集中添加任何实例

副本集中的当前infra:

1. Primary instance
CPUs: 16
RAM: 32 GB
HDD: 100 GB

2. Secondary instance
CPUs: 8
RAM: 16 GB
HDD: 100 GB

3. Secondary instance
CPUs: 8
RAM: 16 GB
HDD: 100 GB

假设您的应用程序随着用户数量线性扩展,CPU容量应该不是问题(是吗?只有您能知道-我们不知道您的应用程序做什么)

问题是:您希望您的数据增长多少?当您当前有25 GB的数据和16 GB的ram时,64%的数据适合ram。这可能意味着许多查询可以直接从RAM缓存提供,而无需访问硬盘驱动器。这些查询通常非常快。但是,当您的工作集增加到超出RAM的大小时,您可能会在访问现在需要从硬盘读取的数据时遇到一些延迟增加(但这取决于:当您的应用程序主要与最新数据交互,而很少与较旧的数据交互时,您甚至可能没有注意到很大的差异)


解决这个问题的办法很明显:获得更多的内存。如果这不是一个选项(例如,因为服务器达到了硬件允许的最大RAM容量),那么您的下一个选项是构建一个分区,其中每个分区负责为一段时间的数据提供服务。

这是关于MongoDB的管理和维护的问题,而不是关于应用程序开发的问题。我把你的问题提名给移民局