sql >> Databáze >  >> NoSQL >> MongoDB

Jak opravit chybu příliš velkého počtu otevřených souborů při agregaci miliard záznamů

Na to neexistuje jednoznačná odpověď, protože děláte něco velmi těžkého, ale je k dispozici řešení

ulimit je příkaz v unixu/linuxu, který umožňuje nastavit systémové limity pro všechny vlastnosti.

ve vašem případě musíte zvýšit max. Ne. Počet otevřených souborů nebo z bezpečnější strany neomezeně (doporučuje to také MongoDB)

ulimit -n <large value in your case 1000000>

or 

sysctl -w fs.file-max=1000000

and

/etc/security/limits.conf or /etc/sysctl.conf:
change 

fs.file-max = 1000000


  1. K deferencování Mongoengine dochází po použití select_related()

  2. Najděte a odstraňte všechny dokumenty, jejichž datum vytvoření je o měsíc starší

  3. Vrátit všechna pole MongoDB Aggregate

  4. Mongodb se vyvarujte duplicitních záznamů