我一直在NewRelic帐户中获取随机应用程序事务跟踪,表明php有时很难连接到我的MongoDB副本集。
事务跟踪表明MongoConnection :: getConnection有时需要1-6秒。但是,我正在监控的事务平均需要大约25毫秒。
这是我的连接类:
class MongoConnection {
static $db = NULL;
static function getConnection() {
if (self::$db === null) {
try {
$m = new MongoClient("mongodb://server1:27017,server2:27017/?replicaSet=replicaset");
} catch (MongoConnectionException $e) {
die('Failed to connect to MongoDB '.$e->getMessage());
}
self::$db = $m->database;
}
return self::$db;
}
}
我正在运行MongoDB v2.4和PHP驱动程序v1.3.4。
我不知道为什么会发生这种情况,也不知道确切地要找出什么来诊断问题。如果有人能告诉我发生了什么事,或者指出我应该在哪里寻找问题,请告诉我。很高兴提供更多信息。感谢。