


Alibaba Cloud ARMS diagnostiziert in der Praxis Probleme mit festsitzenden Java-Anwendungen
Keine Panik, das ist nur ein Bild
Abgesehen von 404 dürfte dieses Bild für Internetnutzer am beunruhigendsten sein.
Internetnutzer können gerne Nachrichten im Hintergrund des offiziellen Kontos „Alibaba Middleware“ hinterlassen und uns die herzzerreißenden Dinge senden, die Sie im Internet sehen. Vielleicht werden wir Werbung machen Das ist die „Internet Heartache Collection“.
Einschlägigen Untersuchungen zufolge erhöht sich die Absprungwahrscheinlichkeit um etwa 30 %, wenn die Seitenladezeit von 1 Sekunde auf 3 Sekunden erhöht wird. Die Wahrscheinlichkeit von 1 bis 5 Sekunden steigt auf 90 %. Wenn das Laden Ihrer Website 10 Sekunden dauert, liegt die Absprungwahrscheinlichkeit bei über 120 %. (Die 120 % bedeuten hier nicht, dass 10 Leute kommen und 12 Leute gehen, sondern die Wachstumsrate der Benutzerabwanderung.) Daher ist in dieser Ära, in der „die Benutzererfahrung König ist“, die Überwachung der Anwendungsleistung zur obersten Priorität des Betriebs geworden Wartungsmanagement.
1. Finden Sie die Ursache für „Langsamkeit“.
Website-Verzögerungen und langsames Laden von Seiten gehören zu den häufigsten Problemen bei Internetanwendungen. Es ist nicht einfach, solche Probleme zu beheben und kostet das Betriebs- und Wartungspersonal viel Zeit und Energie. Normalerweise gibt es drei Gründe:
» Der Bewerbungslink ist zu lang und es gibt keine Möglichkeit zum Starten.
Von der Front-End-Seite bis zum Back-End-Gateway, vom Webanwendungsserver bis zur Back-End-Datenbank können Probleme in jedem Link dazu führen, dass die Gesamtanforderung hängen bleibt. Ist die Front-End-Ressource Laden zu langsam? Oder stimmt etwas mit der Datenbank nicht? Oder weist der neu veröffentlichte Servercode Leistungsprobleme auf? Probleme können aus verschiedenen Gründen auftreten.
Anwendungen, die eine „Microservice“-Architektur verwenden, verfügen über komplexere Verknüpfungen. Unterschiedliche Komponenten können von unterschiedlichen Teams und Mitarbeitern gewartet werden, was die Fehlerbehebung erschwert.
» Das Protokoll ist unvollständig oder von schlechter Qualität und die Website fehlt.
Anwendungsprotokolle sind zweifellos ein Artefakt zur Behebung von Online-Problemen, aber der Ort von Problemen ist oft unvorhersehbar. Wenn Probleme auftreten, stellt sich normalerweise heraus, dass die Protokollinformationen unvollständig sind, da wir nicht jede Stelle ausdrucken können, an der Probleme auftreten können . Protokoll.
Die Definition von „langsam“ ist subjektiv und „langsam“ ist manchmal ein zufälliges Phänomen. Um die „langsame“ Codezeile wirklich zu erfassen, müssen wir oft jeden Aufruf aufzeichnen und dürfen nicht jede Codezeile verpassen, aber dieser Ansatz ist zu kostspielig.
» Unzureichende Überwachung und es ist zu spät, wenn Probleme auftreten.
Eine schnelle Geschäftsentwicklung und eine schnellere Iterationsgeschwindigkeit führen zu häufigen Änderungen an Schnittstellen im Geschäftssystem, erhöhten Abhängigkeiten und einer Verschlechterung der Codequalität. Wenn es kein vollständiges Überwachungssystem gibt, das die Leistung jeder Schnittstelle der Anwendung vollautomatisch überwachen und problematische Aufrufe automatisch aufzeichnen kann, ist es zu spät, das Problem nach Benutzerfeedback zu lösen.
2. So finden Sie „langsame“ Probleme in 1 Minute
ARMS (Application Real-Time Monitoring Service) ist ein Full-Link-Überwachungsprodukt der Alibaba Cloud Application Performance Management (APM). ARMS bietet eine umfassende Palette von Überwachungsfunktionen für die Überwachung und Diagnose von Java-Anwendungen, die Echtzeitüberwachung des Internets der Fahrzeuge, die Echtzeitüberwachung der Einzelhandelsbranche, die Überwachung der Benutzererfahrung und andere Szenarien, einschließlich Front-End-Überwachung, Anwendungsüberwachung und benutzerdefinierter Überwachungsfunktionen Erstellen Sie schnell Echtzeit-Geschäftsüberwachungsfunktionen.
Schritt 1: Java-Probe installieren (wenn Ihre Anwendung auf EDAS gehostet wird, können Sie diesen Schritt sogar überspringen)
• Öffnen Sie ARMS und erstellen Sie die Anwendung.
• Laden Sie das Java-Probe-Paket herunter und entpacken Sie es.
• Fügen Sie -javaagent:/{user.workspace}/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar-Darms.licenseKey=xxx -Darms.appId=xxx hinzu ( Die App-ID und der Lizenzschlüssel werden ausgefüllt in entsprechend den auf der Seite zugewiesenen Informationen)
• Öffnen Sie die ARMS-Seite, die Daten werden gemeldet und überprüfen Sie, ob die Java-Probe erfolgreich installiert wurde.
Schritt 2: Finden Sie „langsame“ verdächtige Hinweise in der Anwendungsübersicht
Geben Sie die Topologiekarte der ARMS-Anwendung ein. In der Anwendungsübersicht können wir deutlich erkennen, dass es heute 5 Mal „langsames SQL“ im System gibt.
Schritt 3: Durchsuchen und entdecken Sie die „langsame Schnittstelle“
Klicken Sie auf die Schnittstellenliste, wir können sie auf einen Blick sehen Was diese Anwendung bietet Alle Schnittstellen sowie die Anzahl der Aufrufe und der Zeitverbrauch dieser Schnittstelle. Natürlich werden diese Schnittstellen automatisch von ARMS-Probes im Programm erkannt, ohne dass eine Konfiguration erforderlich ist.
Unter diesen Schnittstellen wird die „langsame“ Schnittstelle deutlich gekennzeichnet. Wir haben eindeutig eine verdächtig langsame Schnittstelle gefunden.
Wählen Sie links die „langsame“ Schnittstelle mit den meisten Aufrufen aus. Rechts können wir sehen, dass dieser Aufruf im Datenbankaufruf offensichtlich „langsam“ ist.
Schritt 4: „Welche Codezeile ist langsam“? Finden Sie den Grund mit einem Klick!
• Es reicht nicht aus, den Zeitverbrauch der Schnittstelle zu sehen, wir müssen die Codezeile genau lokalisieren, in der die „Langsamkeit“ auftritt.
• Klicken Sie auf „Schnittstellen-Snapshot“, um die Snapshots aller dieser Schnittstelle entsprechenden Schnittstellen anzuzeigen. Der Snapshot ist eine vollständige Aufzeichnung des vollständigen Linkaufrufs eines Anrufs. Die ARMS-Probe zeichnet den Code und die benötigte Zeit jedes Anrufs mit sehr geringem Leistungsverlust auf und hilft Ihnen so, „langsame“ Probleme zu lokalisieren.
• Wir klicken auf die TraceId eines bestimmten Anruf-Snapshots und erweitern ihn, um zu sehen, welche Leitung für diesen Anruf besonders „langsam“ ist. Aus dem Bild oben können wir deutlich erkennen, dass bei diesem Aufruf, der 705 Millisekunden dauerte, die meiste Zeit für den SQL-Aufruf „SELECT * FROMl_employee“ aufgewendet wurde, bei dem es sich offensichtlich um einen vollständigen Tabellenscanvorgang handelt!
• Bisher haben wir eindeutig die Grundursache für einen langsamen Anruffehler im System entdeckt. Und es gibt eine ausreichende Grundlage, um unseren nächsten Schritt der Codeoptimierungsarbeit zu leiten. Wir können auch zur Anrufschnittstellenliste zurückkehren und dann nacheinander andere „langsame“ Anrufe in der Liste öffnen und sie einzeln lösen. Ich glaube, dass Ihre Website mit Hilfe von ARMS in der Lage sein wird, fernzubleiben Vermeiden Sie Verzögerungen und sorgen Sie für ein reibungsloseres Benutzererlebnis.
Schritt 5: Probleme verhindern, bevor sie auftreten – Alarme einstellen
Natürlich können Sie in den Alarmeinstellungen von ARMS Alarme für eine bestimmte Schnittstelle oder alle Schnittstellen einstellen. Lassen Sie Ihr Betriebs- und Wartungsteam sofort benachrichtigen, wenn die Seitenoberfläche hängen bleibt.
3. Welche anderen Probleme mit der Website-Erfahrung gibt es?
Zusätzlich zu Website-Verzögerungen und langsamem Laden von Seiten weist die Website natürlich auch eine Reihe von Problemen auf, wie z. B. Hintergrundfehler, Fehler beim Laden von Seiten und Speicherverluste. Wie Sie mit ARMS schnell weitere Website-Probleme lösen können, lesen Sie bitte in unserer ARMS-Artikelserie „Häufige Website-Probleme in einer Minute orten“.
Verwandte Empfehlungen:
mysql-Alibaba Cloud-RDS-MySQL-5.5 Berechnungsproblem
Das obige ist der detaillierte Inhalt vonAlibaba Cloud ARMS diagnostiziert in der Praxis Probleme mit festsitzenden Java-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

Java leicht gemacht: Ein Leitfaden für Anfänger zur leistungsstarken Programmierung Java ist eine leistungsstarke Programmiersprache, die in allen Bereichen von mobilen Anwendungen bis hin zu Systemen auf Unternehmensebene verwendet wird. Für Anfänger ist die Syntax von Java einfach und leicht zu verstehen, was es zu einer idealen Wahl zum Erlernen des Programmierens macht. Grundlegende Syntax Java verwendet ein klassenbasiertes objektorientiertes Programmierparadigma. Klassen sind Vorlagen, die zusammengehörige Daten und Verhaltensweisen organisieren. Hier ist ein einfaches Java-Klassenbeispiel: publicclassPerson{privateStringname;privateintage;

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Ein Stapel ist eine Datenstruktur, die dem LIFO -Prinzip (zuletzt, zuerst heraus) folgt. Mit anderen Worten, das letzte Element, das wir einem Stapel hinzufügen, ist das erste, das entfernt wird. Wenn wir einem Stapel Elemente hinzufügen (oder drücken), werden sie oben platziert. vor allem der
