【发布时间】:2017-03-25 03:01:25
【问题描述】:
我正在使用以下代码从 PHP 连接到我的 mongoDB。这是我本地主机的扩展信息,在 beta 和 prod 上也是如此。
我正在使用以下代码连接数据库。
class WebAPI {
private $mongoClient;
function __construct() {
$mongoClient = new MongoDB\Client("mongodb://database.local:27017");
if(!$mongoClient){
//TODO: Inform status site about failure
http_response_code(500);
die();
}
$statsDB = $mongoClient->stats; //selects database stats
$pageViewsCollection = $statsDB->pageviews;
$result = $pageViewsCollection->insertOne(PageViewInsights::getInfo());
var_dump($result->getInsertedId());
}
}
在 SQL 数据库中,我们使用连接池。我怀疑mongodb也有一个,我不确定。我用谷歌搜索了它,但这个新的 mongodb 1.1.x 版本没有任何方便之处。
有更好的方法吗?
更新
正如 Luiz Eduardo de Christo here 所说,我正在扩展问题以获得更多相关信息。
如果连接池不相关,如何处理大量连接?每个连接将占用多少 RAM,前提是我设法为每个 HTTP 请求仅使用一个连接并使用该连接管理所有事务,例如我有一台具有 8GB RAM 的服务器,在 CentOS 或 Ubuntu 上使用 Hexacore Xeon E5 @ 3.1 GHz,单独运行mongod 没有任何其他服务器(如apache),我最多可以建立多少连接?我的服务器能够处理多少并发用户?有没有办法在 MongoDB 3.2 上对此进行优化?
PS:我找不到关于服务器配置方面的数据库优化的信息。
【问题讨论】: