次线性行为(MongoDB集群)

次线性行为(MongoDB集群),mongodb,mongodb-query,Mongodb,Mongodb Query,我有以下设置: 导入包含9000万行的CSV文件(20GB)->数据在MongoDB中占用9GB->在“2d”列上索引->用于分片的附加整数列索引->使用1、2、4、6、8、16分片分发数据。 集群中的每台碎片机都有20GB的磁盘空间和2GB的RAM 我生成了一个随机查询,并对每个集群配置的执行时间进行了基准测试(见附件) 现在我的问题是: 使用1、2、4、6和8个分片,我看到运行时间或多或少呈线性减少,正如预期的那样。使用8个分片,我假设每个分片上的数据都适合内存。因此,我认为从8个分片到16

我有以下设置:

导入包含9000万行的CSV文件(20GB)->数据在MongoDB中占用9GB->在“2d”列上索引->用于分片的附加整数列索引->使用1、2、4、6、8、16分片分发数据。 集群中的每台碎片机都有20GB的磁盘空间和2GB的RAM

我生成了一个随机查询,并对每个集群配置的执行时间进行了基准测试(见附件)

现在我的问题是: 使用1、2、4、6和8个分片,我看到运行时间或多或少呈线性减少,正如预期的那样。使用8个分片,我假设每个分片上的数据都适合内存。因此,我认为从8个分片到16个分片不会有任何改进。 但从我的基准测试中,我观察到运行时的次线性下降非常强烈。 您知道如何解释这种行为吗?非常感谢您对本手册的任何建议或参考

提前感谢,, 莉迪亚


这是非常广泛的。这取决于分片键的选择、数据的实际分布、硬件等。涉及的因素很多,您必须提供更多关于这方面的信息,以便进行准确且可重复的测试。分片键是(0,99)中的整数命名类id。这意味着每个类id大约有90000个条目。