Last active
December 20, 2015 11:49
-
-
Save leozc/6126556 to your computer and use it in GitHub Desktop.
Host this php on php-fpm + nginx, each page hit creates TWO Pairs of connections to replicaset, FOUR Authentication done (primary + secondary) * 2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<? | |
// simple mongoclient dumpper | |
$a=getMongo(); | |
$b=getMongo(); | |
var_dump($a->getConnectionss()); | |
print("===================================SECOND MONGO CONN REQUEST ===================================\n"); | |
var_dump($b->getConnectionss()); | |
function getMongo(){//{{{ | |
$mongo = new MongoClient(MG_HOST, array( | |
'replicaSet' => MG_REPLICASET, | |
'password'=>MG_PWD, | |
'username'=>MG_USER, | |
'db'=>MG_DB, | |
'journal' => true, | |
"readPreference"=> MongoClient::RP_SECONDARY_PREFERRED | |
) | |
); | |
$mgdb = $mongo->{MG_DB}; | |
return $mongo; | |
} | |
?> |
@leozc: Please format the var_dump output with monospace formatting (three ` characters on a line before and after will do it). It's a bit hard to read in the current state.
Re:jmlkola.
@leozc: The error you're seeing is because the connection string hostname doesn't match what the servers themselves identify as. Take a look at mongo_connection_ismaster and look for the retval = 3 case.
Very nice hint! It ends up it is a domain name alias problem, let me investigate further...
Take a look at mongo_connection_ismaster and look for the retval = 3 case. helps
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It seems, alone with 2 connections (one to primary and one to secondary), there are TWO topology connections built, one for primary and one to secondary) - seems additional overheads for me.
Particularly this worries me:
WARN: discover_topology: ismaster worked, but we need to remove the seed host's connection ....
[31-Jul-2013 22:32:07 UTC] PHP Notice: CON INFO: ismaster: last ran at 1375309927 in /var/app/current/testmongo.php on line 47$MASKED$ ;3367 in /var/app/current/testmongo.php on line 47$MASKED$ ;3367. in /var/app/current/testmongo.php on line 47
[31-Jul-2013 22:32:07 UTC] PHP Notice: CON WARN: discover_topology: ismaster worked, but we need to remove the seed host's connection in /var/app/current/testmongo.php on line 47
[31-Jul-2013 22:32:07 UTC] PHP Notice: CON FINE: mongo_connection_destroy: Destroying connection object for
[31-Jul-2013 22:32:07 UTC] PHP Notice: CON FINE: mongo_connection_destroy: Closing socket for
[31-Jul-2013 22:32:07 UTC] PHP Notice: CON FINE: discover_topology: ismaster worked in /var/app/current/testmongo.php on line 47