2 Stimmen

Wie steuert man die Anzahl der laufenden Worker-Prozesse für MongoDB?

Nun, da sich die Frage von selbst erklärt, möchte ich sie noch ein wenig präzisieren.

Ich verwende MongoDB hauptsächlich für reine Lesezwecke im Backend. Meine Crons sind für die Schreibvorgänge zuständig, und wenn sie ausgelöst werden, machen sie nicht wirklich viel Druck. Einige Aktualisierungen, einige neue Dokumente usw.

Die Sache ist, dass die Anfragen normalerweise nicht einmal die Anwendungsebene erreichen, da die gesamte Seite von Nginx in MemCached zwischengespeichert wird. Die Anwendung fragt also nicht für eine weitere Stunde pro Seite die Datenbank ab.

Aber soweit ich in meiner Prozessliste sehen kann, gibt es 21 MongoDB-Arbeitsprozesse, die keine CPU, aber eine ziemlich große Menge an Speicher aufgrund der vorherigen Abfragen verwenden.

Ich habe die Konfigurationseinstellungen und habe herumgegoogelt, konnte aber keine Antwort finden. Gibt es also eine Möglichkeit, diese Prozesse zu begrenzen oder zumindest MongoDB anzuweisen, seine Speichernutzung nach einer Weile zu reduzieren/zu leeren?

0 Stimmen

Wie viele Verbindungen zur Datenbank sehen Sie, wenn Sie 21 Arbeiter haben? Der Speicherbedarf pro Verbindung ist ziemlich groß, daher sollte es hilfreich sein, wenn Sie sicherstellen, dass die maximale Anzahl der Verbindungen immer 1 beträgt. Dies ist eine Einstellung auf der Treiberseite.

0 Stimmen

Ich musste mongod neu starten (wegen eines seltsamen Zugriffsproblems auf die Protokolldatei), so dass im Moment 14 Worker und nur 5 Verbindungen ohne laufende Abfrage vorhanden sind. Es sagt auch 704mb zugeordnete Daten und 1,5gb virtuelle Größe.

0 Stimmen

Haben Sie nach all den Jahren eine Möglichkeit gefunden, die Zahl der Arbeitnehmer zu kontrollieren?

0voto

best wishes Punkte 4626

Worker werden verwendet, um mit dem Config-Server und anderen Replikaten zu kommunizieren und nicht nur Benutzeranfragen zu bedienen. Dies ist dokumentiert in aquí .

können wir die net.maxIncomingConnections als Par-Empfehlung auf este Seite, um die Anzahl der Arbeiter zu begrenzen, die eine Benutzeranfrage bearbeiten. Dies sollte jedoch mit Vorsicht verwendet werden, da die Einstellung dieser Zahl zu niedrig ist und das Senden von mehr gleichzeitigen Aufrufen dazu führt, dass einige Aufrufe in die Warteschlange gestellt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X