我有一个服务器,所有客户端都连接到这个服务器。最多可同时连接 100 个用户(我不知道是否超过)。客户端是通过套接字 (TCP/IP) 的 Android、Web 和桌面应用程序。
只有服务器连接和查询来自MongoDB的数据。
服务器应用程序在启动时加载 MongoDB C++
驱动程序,如果连接传入,服务器为每个连接创建一个线程和 MongoDB 客户端
。这是主要的怀疑。
MongoDB 驱动程序是否出现故障? 如果用户数量增加很多,这种方式是否会导致问题?
我在我的电脑上试过 86 连接,性能和驱动都没有问题。
谢谢
最佳答案
限制实际上取决于您的内存力,因此无法告诉您具体数字。
这里有两个注意事项:
如果您的服务器只使用一组身份验证凭证 连接到数据库,那么您最好创建一个 mongocxx::pool对象,然后在连接线程中从池中 check out 客户端。您可以调整池的大小以管理资源消耗。
如果每个客户端连接都需要单独的身份验证凭据 到数据库,那么您需要创建一个 mongocxx::client每个线程中的对象。这将使用更多的内存并具有更高的延迟,因为每个客户端都将创建到数据库的新连接(而不是像池情况那样重复使用连接)。
关于android - 有多少用户可以通过一个 MongoDB C++ 驱动程序连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40867452/