
Ich habe amazon
aws
ubuntu 18.04
einen Server mit 8 GB RAM und 50 GB Speicher. Ich habe installiert MongoDB 4.2
und Node JS 12 LTS
.
Der aktuelle Server verfügt über 30 GB MongoDB
Speicher. Ich habe 4 Mikrodienste auf demselben Server. Ich habe pm2
alle 4 Dienste so installiert, dass sie gestartet werden.
Ich weiß nicht, warum alle meine Dienste verzögert reagieren.
Zum Beispiel:
Ich habe überprüft, pm2 start 0
dass es 4–5 Minuten dauert, bis Protokolle angezeigt werden.
Ich habe bereits den DB-Caching entfernt und pm2
die Protokolle geleert. Aber mongodb
der Dienst beansprucht immer noch 50 % der CPU-Auslastung.
Ich habe den gesamten Code geprüft und festgestellt, dass es keinen API-Aufruf von Drittanbietern gibt. Ich habe alle Abfragen optimiert und eine Indizierung auf dem Server hinzugefügt. Aber der Server braucht immer noch zu viel Zeit.
Meistens bekomme ich einen Server-Timeout-Fehler. Bitte helfen Sie mir. Wie mache ich das server
schnell?
Antwort1
TL;DR: Ich habe vor Kurzem einen Knotenserver behoben, der versucht hat, Namen auf IPv6 aufzulösen, bevor er auf IPv4 zurückgegriffen hat, und dies war die Lösung für mein Problem (YMMV):
Versuche Folgendes:
Terminal öffnen
Bearbeiten
/etc/sysctl.conf
und öffnen Sie die Konfigurationsdatei und fügen Sie am Ende die folgenden Zeilen hinzu
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
- Geben Sie den Befehl ein,
sudo sysctl -p
Sie werden ihn im Terminal sehen.
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
- Führen Sie es anschließend aus
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
. Wenn es eine Meldung anzeigt,1
bedeutet dies, dass Sie IPV6 deaktiviert haben.
Starten Sie Ihren Knotenserver neu.
HTH