设置:具有3个服务器的mongodb群集(版本3.4),其中包含一个主服务器和两个副本集/分片。一个馆藏有33,000个文档,馆藏总大小为4.8 MB。
客户端在Linux上使用C#mongo驱动程序。正在运行与群集连接的localhost mongos进程。
我通过mongos的阅读性能非常差。通过mongos读取该集合需要31秒才能完成一个简单的collection.find({})。直接连接到三台服务器中的任何一台,查询需要1秒钟。
查询执行统计信息显示find({})本身在数据库上花费18毫秒。所有三台服务器似乎都正常。在它们或mongos的日志中没有错误日志。批处理大小设置为0,C#不发布任何GetMores。尝试将批次大小也设置为35k。
我该如何解决这种极端的性能差异?蒙古人可能出了什么问题?