sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb insert misslyckas på grund av socket undantag

Det verkar som om du har ett anslutningsproblem med mongo-servern. Nedanstående sätt kan hjälpa dig att bättre diagnostisera mongo-servrarna:

  1. Försök att få mer information från loggfiler:

    $less /var/log/mongo/mongod.log

    eller anpassade loggfiler definierade i mongod.conf

  2. Försök att använda mongostat för att övervaka serverns tillstånd:

    $ mongostat -u ADMIN_USER -p ADMIN_PASS

  3. Försök att använda mongo cli för att kontrollera serverns körstatus:

    $ mongo admin -u ADMIN_USER -p ADMIN_PASS
    $ db.serverStatus()
    

    Fler användbara kommandon finns på:http://docs.mongodb.org/manual/reference/ metod/

Ibland kan det uppstå med Linux-systemkonfigurationer. Försök att ställa in Linux för fler anslutningar och begränsningar, så kan det hjälpa. För att kontrollera aktuella Linux-gränser, kör:

$ ulimit -a

Nedanstående förslag kan vara till hjälp:

Varje anslutning ses av Linux som en öppen fil. Det maximala antalet öppna filer som standard är 1024. För att öka denna gräns:

  1. ändra /etc/security/limits.conf :

    root    soft    nofile     500000
    root    hard    nofile     512000
    root    soft    nproc      500000
    root    hard    nproc      512000
    
  2. ändra /etc/sysctl.conf

    fs.file-max=360000
    net.ipv4.ip_local_port_range=1024 65000
    


  1. Hur man får storlek i byte av bson-dokument

  2. Undvik dubbla poster på Mongoose array

  3. Hur får man åtkomst till MongoDB Instance 4.2?

  4. Varför svarar MongoDB inte under ett belastningstest?