Optimale Vorgehensweisen zum Reduzieren von Arbeitsspeicherproblemen
Wenn Sie Ihre ThingWorx Lösungen entwickeln und überwachen, verwenden Sie die folgenden optimalen Vorgehensweisen, um durch den Arbeitsspeicher verursachte Leistungsprobleme zu vermeiden:
Überwachen Sie die tägliche Verwendung des Arbeitsspeichers in Ihren ThingWorx Lösungsfunktionen. Dies hilft Ihnen, die Arbeitsspeicherverwendung in Ihrer Lösung im stabilen Zustand und unter Belastung zu verstehen.
Führen Sie Skalierbarkeitstests mit produktionsähnlichen Daten mithilfe von Apache JMeter oder ähnlichen Dienstprogrammen aus, um viele Benutzer und Geräte zu modellieren, die gleichzeitig mit Ihrer ThingWorx Lösung interagieren.
Sie müssen sicherstellen, dass genügend Systemressourcen für Skalierbarkeitstests zugeordnet sind. Die meisten Produktionssysteme benötigen 64 GB RAM, von denen 40 GB dem Java-Heap zugeordnet sind.
Stream-Abfragen können eine große Anzahl von Datensätzen aus der Datenbank abrufen, bevor sie im JVM-Arbeitsspeicher weiter gefiltert werden. Es wird empfohlen, angemessene Zeitintervalle hinzuzufügen, um die Anzahl der von Streams abgerufenen Zeilen zu minimieren. Dies hilft insbesondere dann, wenn sich Daten bei der täglichen Produktionsverwendung ansammeln.
Verwenden Sie nach Möglichkeit externe Systeme, z.B. einen Datenbankserver, einen Microservice-Server oder einen ThingWorx Verbundserver, für die umfangreiche Verarbeitung im Arbeitsspeicher.
Optimieren Sie Dienste mit langer Ausführungszeit. Jeder Dienst, der mehr als 10 Minuten ausgeführt wird, sperrt während der Ausführung wahrscheinlich Arbeitsspeicher, Datenbankverbindungen und andere Serverressourcen. Die geplanten Dienste sollten auch in weniger als 10 Minuten ausgeführt und abgeschlossen werden, um sicherzustellen, dass Arbeitsspeicherressourcen an das System zurückgegeben werden.
Sie sollten die Implementierung eines Hochverfügbarkeitsclusters für die Produktionsverwendung in Betracht ziehen. Dadurch wird sichergestellt, dass die gesamte Lösung weiterhin verfügbar ist, selbst wenn auf einem der ThingWorx Knoten Arbeitsspeicherprobleme auftreten.
War dies hilfreich?