Qual è il comando per ottenere il numero di client connessi a un particolare server MongoDB?Controllare il numero corrente di connessioni a MongoDb
risposta
connettersi al database di amministrazione ed eseguire db.serverStatus()
:
> var status = db.serverStatus()
> status.connections
{"current" : 21, "available" : 15979}
>
È possibile ottenere direttamente interrogando
db.serverStatus().connections
Per capire che cosa significa la risposta di MongoDb db.serverStatus().connections
, leggere la documentazione here.
connessioni
"connections" : { "current" : <num>, "available" : <num>, "totalCreated" : NumberLong(<num>) },
connessioni Un documento che riporta sullo stato delle connessioni. Utilizzare questi valori per valutare il carico corrente e i requisiti di capacità del server.
connections.current Il numero di connessioni in ingresso dai client al server di database. Questo numero include la sessione corrente della shell. Considera il valore di connections.available per aggiungere più contesto a questo dato.
Il valore includerà tutte le connessioni in ingresso incluse le connessioni di shell o le connessioni da altri server, ad esempio i membri del set di repliche o le istanze di mongos.
connections.available Il numero di connessioni in ingresso non utilizzato. Considerare questo valore in combinazione con il valore di connections.current per comprendere il carico di connessione sul database e il documento di configurazione ulimit UNIX per ulteriori informazioni sulle soglie di sistema sulle connessioni disponibili.
connections.totalCreated Conte di tutte le connessioni in entrata creati al server. Questo numero include connessioni che hanno chiuso.
db.serverStatus()
non fornisce alcuna delle connessioni opend e inutilmente, ma non mostra le connessioni da quale client. Per maggiori informazioni è possibile utilizzare questo comando sudo lsof | grep mongod | grep TCP
. Ne ho bisogno quando ho fatto la replica e il nodo primario ha molte connessioni client maggiori di quelle secondarie.
$ sudo lsof | grep mongod | grep TCP
mongod 5733 Al 6u IPv4 0x08761278 0t0 TCP *:28017 (LISTEN)
mongod 5733 Al 7u IPv4 0x07c7eb98 0t0 TCP *:27017 (LISTEN)
mongod 5733 Al 9u IPv4 0x08761688 0t0 TCP 192.168.1.103:27017->192.168.1.103:64752 (ESTABLISHED)
mongod 5733 Al 12u IPv4 0x08761a98 0t0 TCP 192.168.1.103:27017->192.168.1.103:64754 (ESTABLISHED)
mongod 5733 Al 13u IPv4 0x095fa748 0t0 TCP 192.168.1.103:27017->192.168.1.103:64770 (ESTABLISHED)
mongod 5733 Al 14u IPv4 0x095f86c8 0t0 TCP 192.168.1.103:27017->192.168.1.103:64775 (ESTABLISHED)
mongod 5733 Al 17u IPv4 0x08764748 0t0 TCP 192.168.1.103:27017->192.168.1.103:64777 (ESTABLISHED)
Questo dimostra che ho attualmente cinque connessioni aperte alla porta MongoDB (27017) sul mio computer. Nel mio caso mi sto collegando a MongoDB da un server Scalatra, e sto usando il driver Casbah MongoDB, ma vedrete le stesse connessioni TCP di Lsof indipendentemente dal client usato (a patto che si stiano connettendo tramite TCP/IP).
Ho provato a vedere tutte le connessioni per il database mongo seguendo il comando.
netstat -anp --tcp --udp | grep mongo
Questo comando può mostrare ogni connessione TCP per MongoDB in modo più dettagliato.
tcp 0 0 10.26.2.185:27017 10.26.2.1:2715 ESTABLISHED 1442/./mongod
tcp 0 0 10.26.2.185:27017 10.26.2.1:1702 ESTABLISHED 1442/./mongod
tcp 0 0 10.26.2.185:27017 10.26.2.185:39506 ESTABLISHED 1442/./mongod
tcp 0 0 10.26.2.185:27017 10.26.2.185:40021 ESTABLISHED 1442/./mongod
tcp 0 0 10.26.2.185:27017 10.26.2.185:39509 ESTABLISHED 1442/./mongod
tcp 0 0 10.26.2.185:27017 10.26.2.184:46062 ESTABLISHED 1442/./mongod
tcp 0 0 10.26.2.185:27017 10.26.2.184:46073 ESTABLISHED 1442/./mongod
tcp 0 0 10.26.2.185:27017 10.26.2.184:46074 ESTABLISHED 1442/./mongod
In OS X, anche vedere le connessioni direttamente sull'interfaccia di rete, basta fare:
$ lsof -n -i4TCP:27017
mongod 2191 inanc 7u IPv4 0xab6d9f844e21142f 0t0 TCP 127.0.0.1:27017 (LISTEN)
mongod 2191 inanc 33u IPv4 0xab6d9f84604cd757 0t0 TCP 127.0.0.1:27017->127.0.0.1:56078 (ESTABLISHED)
stores.te 18704 inanc 6u IPv4 0xab6d9f84604d404f 0t0 TCP 127.0.0.1:56078->127.0.0.1:27017 (ESTABLISHED)
alcuna necessità di utilizzare
grep
ecc, basta usare gli argomenti s' illsof
.Per vedere le connessioni sulla CLI di MongoDb, vedere la risposta di @ milan (che ho appena modificato).
db.runCommand ({ "connPoolStats": 1})
----> { "numClientConnections": 0, "numAScopedConnections": 0, "totalInUse": 0 , "totalAvailable": 0, "totalCreated": 0, "hosts": {
},
"replicaSets" : {
},
"ok" : 1
}
Connetti a MongoDB usando mongo-shell ed esegui il seguente comando.
db.serverStatus().connections
es:
mongo> db.serverStatus().connections
{ "current" : 3, "available" : 816, "totalCreated" : NumberLong(1270) }
- 1. Aumenta il numero massimo di connessioni MongoDB
- 2. mongodb e connessioni max
- 3. MongoDB: Aumento connessioni max in MongoDB
- 4. OpenSSL configura il numero massimo di connessioni
- 5. Qual è il numero massimo di connessioni?
- 6. Caching connessioni MongoDB in Django
- 7. Ridurre il numero di chiamate a MongoDB con mongoengine
- 8. Symfony2 MongoDB Errore di connessioni multiple
- 9. Le connessioni MongoDB continuano ad aumentare
- 10. Query giusta per ottenere il numero corrente di connessioni in un DB PostgreSQL
- 11. Posso ottenere il numero di riga corrente a macchina
- 12. Cosa succede quando le connessioni a MongoDB non vengono chiuse?
- 13. Puoi chiudere tutte le connessioni a MongoDB dalla Mongo Shell?
- 14. Mongoose.js crea connessioni multiple a MongoDB da un connect() chiamare
- 15. Numero di connessioni memcache non scende mai, continua a crescere
- 16. Ottenere il numero di riga corrente?
- 17. Come trovare il numero di connessioni simultanee di SQL Server
- 18. Come si decide il numero di connessioni richieste nel pool di connessioni?
- 19. Gran numero di connessioni simultanee in parsimonia
- 20. Migliori pratiche .NET per le connessioni MongoDB?
- 21. Qual è il modo giusto per gestire le connessioni Mongodb?
- 22. Qual è il numero massimo di connessioni cURL impostato da?
- 23. Numero massimo di connessioni Socket.IO simultanee
- 24. Come verificare il numero di connessioni aperte in node.js?
- 25. Dimensione del pool di connessioni nodo-mongodb nativo
- 26. Avere compilatore controllare il numero di inizializzatori di array
- 27. Come controllare di visualizzare il numero di cifre in JSP?
- 28. Come controllare il numero di caratteri diversi usando regex?
- 29. MongoDB: come contare il numero di chiavi in un documento?
- 30. Controllare se esiste un indice in mongodb
Questo comando restituisce più voci per una singola connessione: http://stackoverflow.com/a/42930337/1843751 – ignite
io suggerisco di usare il flag -i per lsof. Quindi si ottiene solo una voce per ogni connessione e non è necessario grep per TCP. cioè "sudo lsof -i | grep mongod' – datdo