


Alibaba Cloud ARMS diagnostique les problèmes de blocage des applications Java dans la pratique
Pas de panique, ce n'est qu'une image
A part 404, cette image est peut-être la plus angoissante pour les internautes.
Les internautes sont invités à laisser des messages en arrière-plan du compte officiel "Alibaba Middleware" et à nous envoyer les choses déchirantes que vous voyez sur Internet. Cela ne se limite pas aux textes, aux images et aux voix. Il s'agit de la "Collection Internet Heartache".
Selon des recherches pertinentes, lorsque le temps de chargement de la page passe de 1 seconde à 3 secondes, les chances de rebond augmentent d'environ 30 %. Les chances de 1 à 5 secondes augmentent jusqu'à 90 %. Si le chargement de votre site Web prend 10 secondes, les chances de rebond dépasseront 120 %. (Les 120 % ici ne signifient pas que 10 personnes arrivent et 12 personnes partent, mais plutôt le taux de croissance du taux de désabonnement des utilisateurs.) Par conséquent, à l'ère de « l'expérience utilisateur est reine », la surveillance des performances des applications est devenue la priorité absolue du fonctionnement et gestion de l'entretien.
1. Trouver la cause de la « lenteur ».
Le décalage du site Web et le chargement lent des pages sont l'un des problèmes courants dans les applications Internet. Il n'est pas facile de dépanner et de résoudre de tels problèmes, et cela coûtera beaucoup de temps et d'énergie au personnel d'exploitation et de maintenance. Il y a généralement trois raisons :
» Le lien de candidature est trop long et il n'y a aucun moyen de démarrer.
De la page front-end à la passerelle back-end, du serveur d'applications Web à la base de données back-end, des problèmes dans n'importe quel lien peuvent entraîner le blocage de la requête globale. Est-ce la ressource front-end. chargement trop lent ? Ou y a-t-il un problème avec la base de données ? Ou le code du serveur récemment publié présente-t-il des problèmes de performances ? Des problèmes peuvent survenir pour diverses raisons.
Les applications qui utilisent une architecture « microservice » ont des liens plus complexes. Différents composants peuvent être entretenus par différentes équipes et personnels, ce qui rend le dépannage plus difficile.
» Le log est incomplet ou de mauvaise qualité, et le site est manquant.
Les journaux d'application sont sans aucun doute un artefact permettant de résoudre les problèmes en ligne, mais l'emplacement des problèmes est souvent imprévisible. Lorsque des problèmes surviennent, on constate généralement que les informations du journal sont incomplètes car nous ne pouvons pas imprimer tous les endroits où des problèmes peuvent survenir. . enregistrer.
La définition de « lent » est subjective, et « lent » est parfois un phénomène accidentel. Pour réellement capturer la ligne de code « lente », nous devons souvent enregistrer chaque appel et ne pas manquer chaque ligne de code, mais cette approche est trop coûteuse.
» Un suivi inadéquat et il est trop tard lorsque des problèmes surviennent.
Un développement commercial rapide et des itérations plus rapides entraîneront des modifications fréquentes de l'interface, des dépendances accrues et une détérioration de la qualité du code dans le système métier. S'il n'existe pas de système de surveillance complet capable de surveiller de manière entièrement automatique les performances de chaque interface de l'application et d'enregistrer automatiquement les appels problématiques, il sera trop tard pour résoudre le problème après les commentaires des utilisateurs.
2. Comment localiser les problèmes « lents » en 1 minute
ARMS (Application Real-Time Monitoring Service) est un produit de surveillance de classe Alibaba Cloud Application Performance Management (APM) à lien complet. ARMS fournit une gamme complète de fonctions de surveillance pour la surveillance et le diagnostic des applications Java, la surveillance en temps réel de l'Internet des véhicules, la surveillance en temps réel du secteur de la vente au détail, la surveillance de l'expérience utilisateur et d'autres scénarios, y compris la surveillance frontale, la surveillance des applications et des fonctions de surveillance personnalisées pour créez rapidement des capacités de surveillance commerciale en temps réel.
Étape 1 : Installez la sonde Java (si votre application est hébergée sur EDAS, vous pouvez même sauter cette étape)
• Ouvrez ARMS et créez l'application.
• Téléchargez le package de la sonde Java et décompressez-le.
• Ajoutez -javaagent:/{user.workspace}/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar-Darms.licenseKey=xxx -Darms.appId=xxx (remplissez l'appId et la licence selon les informations attribuées sur la page)
• Ouvrez la page ARMS, les données commencent à être rapportées et vérifiez que la sonde Java est installée avec succès.
Étape 2 : Trouver les indices suspects « lents » dans l'aperçu de l'application
Entrez la carte topologique de l'application ARMS. Dans l'aperçu des applications, nous pouvons clairement voir qu'il y a 5 fois du « SQL lent » dans le système aujourd'hui.
Étape 3 : Parcourez et découvrez "l'interface lente"
Cliquez sur la liste des interfaces, on peut voir en un coup d'œil ce que propose cette application Toutes les interfaces ainsi que le nombre d'appels et la consommation de temps de cette interface Bien entendu, ces interfaces sont automatiquement découvertes par les sondes ARMS dans le programme sans aucune configuration.
Parmi ces interfaces, l'interface « lente » sera clairement marquée. Nous avons clairement trouvé une interface étrangement lente.
Sélectionnez l'interface "lente" avec le plus d'appels à gauche. On voit à droite que cet appel est évidemment "lent" dans l'appel de la base de données.
Étape 4 : « Quelle ligne de code est lente » ? Localisez la raison en un clic !
• Il ne suffit pas de voir combien de temps prend l'interface, nous devons identifier exactement dans quelle ligne de code la « lenteur » apparaît.
• Cliquez sur "Interface Snapshot" pour voir les instantanés de toutes les interfaces correspondant à cette interface. L'instantané est un enregistrement complet de l'appel de lien complet d'un appel. La sonde ARMS enregistrera le code et la durée de chaque appel avec une très faible perte de performances, vous aidant ainsi à identifier les problèmes « lents ».
• Nous cliquons sur le TraceId d'un certain instantané d'appel et le développons pour voir quelle ligne est spécifiquement « lente » pour cet appel. Sur l'image ci-dessus, nous pouvons clairement voir que dans cet appel qui a duré 705 millisecondes, la plupart du temps a été passé dans l'appel SQL "SELECT * FROMl_employee", qui est évidemment une opération d'analyse complète de la table !
• Jusqu'à présent, nous avons clairement découvert la cause première d'une erreur d'appel lent dans le système. Et il existe une base suffisante pour guider notre prochaine étape de travail d’optimisation du code. Nous pouvons également revenir à la liste des interfaces d'appel, puis ouvrir un par un d'autres appels "lents" dans la liste et les résoudre un par un. Je pense qu'avec l'aide d'ARMS, votre site Web pourra rester à l'écart. des problèmes de décalage et offre aux utilisateurs une expérience plus fluide.
Étape 5 : Prévenez les problèmes avant qu'ils ne surviennent - définissez des alarmes
Bien sûr, vous pouvez définir des alarmes pour une certaine interface ou pour toutes les interfaces dans les paramètres d'alarme d'ARMS. Laissez votre équipe d’exploitation et de maintenance être immédiatement informée lorsque l’interface de la page est bloquée.
3. Quels sont les autres problèmes liés à l'expérience du site Web ?
Bien sûr, en plus des retards du site Web et du chargement lent des pages, le site Web aura également une série de problèmes tels que des erreurs d'arrière-plan, des échecs de chargement des pages et des fuites de mémoire. Comment utiliser ARMS pour résoudre rapidement davantage de problèmes de sites Web. Veuillez prêter attention à notre série d'articles ARMS - "Localisation en une minute des problèmes courants de sites Web".
Recommandations associées :
Problème de calcul mysql-Alibaba Cloud-RDS-MySQL-5.5
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Java Made Simple : Guide du débutant sur la puissance de programmation Introduction Java est un langage de programmation puissant utilisé dans tout, des applications mobiles aux systèmes d'entreprise. Pour les débutants, la syntaxe de Java est simple et facile à comprendre, ce qui en fait un choix idéal pour apprendre la programmation. Syntaxe de base Java utilise un paradigme de programmation orienté objet basé sur les classes. Les classes sont des modèles qui organisent ensemble les données et les comportements associés. Voici un exemple simple de classe Java : publicclassPerson{privateStringname;privateintage;

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Une pile est une structure de données qui suit le principe LIFO (dernier dans, premier sorti). En d'autres termes, le dernier élément que nous ajoutons à une pile est le premier à être supprimé. Lorsque nous ajoutons (ou poussons) des éléments à une pile, ils sont placés sur le dessus; c'est-à-dire surtout
