android - 有多少用户可以通过一个 MongoDB C++ 驱动程序连接?

标签 android c++ mongodb qt wt

我有一个服务器,所有客户端都连接到这个服务器。最多可同时连接 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/

相关文章:

c++ - 我将如何着手在我的程序中创建计算?

c++ - 在QNX中,如何管理服务器和客户端之间的IPC连接?

android - TabActivity 使用的 BadTokenException ActivityGroup

android - 在 android 中使用 CircularCountdown 自定义 View 时出现异常

c++ - 选择 QTableView 中的列时显示上下文菜单

mongodb - 为什么 $nin 比 $in 慢,Mon​​godb

spring - 使用 Spring Security、Spring Boot 和 MongoDB 进行密码编码和解码

php - Symfony2 - 如何使用带有 Doctrine MongoDB ODM 的 postLoad 事件监听器来更改文档?

android - "invalid drawable tag bitmap"的 org.xmlpull.v1.XmlPullParserException

android - 如何在对话框中显示/隐藏 Android 软键盘?