当前位置:网站首页>Pratique technique | analyse et solution des défaillances en ligne (Partie 1)
Pratique technique | analyse et solution des défaillances en ligne (Partie 1)
2022-07-04 00:49:00 【51CTO】
Les défaillances en ligne sont généralement des problèmes ou des événements à grande échelle qui influent sur la disponibilité des services en ligne.,La gestion des défaillances en ligne n'est pas seulement une activité technique,C'est pour les techniciens./Test de la capacité d'intervention d'urgence de l'équipe technique.Cet article se concentre sur la classification des défauts en ligne、Réflexion sur la réponse、Commencer par les raisons,Résumer quelques expériences et solutions aux problèmes,Pour discuter et communiquer avec vos collègues.
Un.、Classification des défauts en ligne
■ Erreur inattendue、Pas de réponse ou réponse lente
■ En service,Influencer l'expérience utilisateur
■ Pas d'arrêt ou d'arrêt important
■ Doit être réparé dès que possible
2.、Réflexion sur la réponse
Analyse empirique,Si quelqu'un de l'équipe d'intervention d'urgence a de l'expérience avec le problème correspondant,Et déterminer qu'il est possible de rétablir le fonctionnement normal du système par un moyen quelconque,Ça devrait être la première fois.(ROLLBACK, etc.),En même temps, assurez - vous de garder le site,Pour le positionnement et la réparation ultérieurs des problèmes;Si personne n'a d'expérience,Des méthodes plus brutales sont nécessaires pour s'assurer que le service est disponible.,Si le redémarrage est programmé、Limitation du courant、Déclassement, etc..
Chef d'entreprise、Technical Director、Personnel de base、Architecte、L'ingénieur o & M et le personnel d'exploitation analysent rapidement les causes des problèmes..Le processus d'analyse doit d'abord tenir compte des changements récents dans le système.,Comprend les éléments suivants::
■ Le système a - t - il été récemment mis en ligne??
■ L'utilisateur du Service a - t - il des activités opérationnelles??
■ Y a - t - il des fluctuations de trafic dans le réseau??
■ Si le volume d'affaires a augmenté récemment?
■ L'opérateur a - t - il apporté des changements au système??
■ La plate - forme et les ressources sous - jacentes dépendantes sont - elles publiées en ligne? ?
■ Si d'autres systèmes dépendants sont publiés en ligne ?
Trois、Causes possibles
■ CodeBug: Manque de rigueur logique 、 Connexion non libérée
■ Performance du Code: Boucle d'appel externe 、 Lecture par lots non utilisée 、 Cycle régulier, etc.
■ Fuite de mémoire:Cache local
■ Débit anormal:DDOS
■ Augmentation du volume d'affaires : Mauvaise estimation de la capacité
■ Problèmes de systèmes externes :Base de données、Moteur de recherche、Cache distribué、 Problèmes de performance des intergiciels tels que les files d'attente de messages
CPU、Mémoire、IOIndicateur anormal
Quatre、Trois pas.
■ Surveillance:“ Je ne sais pas ce que je vais faire. ”. Un mécanisme de surveillance est nécessaire pour découvrir 、Problèmes de performance des systèmes exposés. Cela dépend généralement des outils de surveillance au niveau du système ou de l'entreprise. .
■ Analyse:“ Je sais ce que je vais faire ”. Besoin d'une base informatique et d'outils d'analyse .
■ Résolution:“ Je sais ce que je dois savoir. ”.Système、 Ajustement des paramètres du programme 、 Optimisation du remaniement du Code .
Comprendre le fonctionnement d'un système ne fait pas d'une personne un expert. , Ce n'est qu'en enquêtant sur les raisons pour lesquelles le système ne fonctionne pas correctement. .
1. Travaux préparatoires
Édition
Travaux préparatoires à l'analyse des défaillances 、Connaissances requises,based on CentOS 6.5 && JDK 1.8.0_121
■ Connaissances de base en informatique:Réseau informatique、Système d'exploitation、Principe de composition de l'ordinateur
■ JavaGestion de la mémoire:Algorithme de collecte des ordures、Collecteur d'ordures、La cléGCParamètres、JVM Modèle de mémoire, etc.
■ Java Code Benchmark Performance Test :Peut être utiliséJMH(Microbenchmarking Framework)Pour le faire.,Capable d'éliminerJIT Impact de la compilation de code Hotspot sur la performance
■ HotSpotArchitecture des machines virtuelles
■ Réglage des paramètres du système
■ Maîtriser les outils de diagnostic communs du système 、JDK Utilisation d'outils de diagnostic autonomes et d'autres outils de diagnostic
■ Comprendre les systèmes d'affaires :Structure générale、 Direction de la pression 、Estimation de la capacité、 Version du logiciel lié au système 、 Mode et paramètres
2. Outils de diagnostic communs du système -CentOSApportez - le vous - même.
■ uptime:Temps de fonctionnement du système、 Charge moyenne ,Y compris:1Minutes、5Minutes、15 Nombre moyen de tâches qui peuvent être exécutées en minutes , Inclure les tâches en cours 、 Un processus qui peut fonctionner mais qui attend qu'un processeur soit inactif et bloqué dans un état d'hibernation non interruptible (Attendez.IO,L'état estD)La Mission de.
La première partie montre l'heure du système . Le premier message de gauche est 22:36:32, C'est l'heure actuelle du système ,Par24 Sortie en format heure .
La deuxième partie montre le temps de fonctionnement du système .up 10 days,11:21, Indique que le système de la machine fonctionne 10Oh, mon Dieu.11Heures21Minutes. Réinitialiser lorsque le système redémarre .
La troisième partie de l'information est d'afficher le nombre d'utilisateurs connectés .Ce qui est montré est1 user , C'est - à - dire que le nombre actuel d'utilisateurs connectés est 1.
Le dernier message est la charge moyenne du système .0.00,,0.05, 0.07 Chacun représente le passé 1Minutes、5Minutes、15 Charge moyenne du système en minutes . Une charge plus faible signifie une meilleure performance du système .
Édition
■ dmesg | tail: Cette commande affiche le dernier journal du système 10D'accord.FréquentOOM killEtTCP Les pertes de paquets sont enregistrées ici. .
■ free -m: Cette commande vous permet de visualiser l'utilisation de la mémoire du système ,-m Les paramètres sont affichés en mégaoctets .BufferEtCache Tout a été calculé usedÀ l'intérieur. Ce qui reflète vraiment l'utilisation de la mémoire est la deuxième ligne . S'il y a moins de mémoire disponible ,Sera utiliséswapZone,AjouterIODépenses,Réduction des performances.
Édition
■ vmstat 1: Outils de mesure du rendement en temps réel ,La valeur d'état du serveur qui peut afficher un intervalle de temps donné,Y compris le serveurCPUTaux d'utilisation、Utilisation de la mémoire、Échange de mémoire virtuelle、IO Indicateurs de base du système tels que la lecture et l'écriture .r,Attendez.CPU Nombre de processus pour la ressource , C'est plus que la charge moyenne loadMieux incarnerCPU Occupé ;b, Nombre de processus bloqués dans un état d'hibernation non interruptible ;si、so,swapUtilisation de la zone,Si ce n'est pas0 Description déjà utilisé swapZone;us、sy、id、wa、st,CPUUtilisation,id + us + sy = 100.
Édition
Ça veut direvmstatChaque2Deuxième acquisition de données,Toujours collecté, Jusqu'à la fin de la procédure .
■ top: Contient de nombreuses informations sur les indicateurs du système global , Y compris les conditions de charge du système 、Utilisation de la mémoire du système、SystèmeCPU Utilisation, etc , Couvre essentiellement les fonctions des commandes ci - dessus .
■ netstap -tanp:VoirTCPÉtat de la connexion au réseau.
iprouteContenu:ss,ip,Peut être remplacénetstat
3. Outils de diagnostic communs du système -Sysstat
■ mpstat -P ALL 1: Cette commande est utilisée pour afficher chaque CPUUtilisation de.S'il y en a unCPUTaux d'occupation particulièrement élevé, Indique qu'il peut être causé par une application monothreadée .
■ sar -n DEV 1:sar La commande est principalement utilisée pour voir le débit du périphérique réseau .Débit disponible sur les appareils réseau,Déterminer si le périphérique réseau est saturé.
■ sar -n TCP,ETCP 1:VoirTCPÉtat de la connexion.active/s, Nombre de connexions actives par seconde (connect);passive/s, Nombre de connexions passivement initiées par seconde (accept);retrans/s, Nombre de retransmissions par seconde , Peut refléter l'état du réseau et s'il y a perte de paquets .
■ iostat -xz 1: Voir le disque de la machine IOLa situation.await(ms),IOTemps d'attente moyen pour l'opération, Est l'application qui interagit avec le disque ,Le temps qu'il faut,Y compris:IOTemps d'attente et temps de fonctionnement réel;avgqu-s, Nombre moyen de demandes adressées à l'appareil ;%util,Utilisation du matériel.
sar、iostat、mpstat、pidstatDesysstatSuite logicielle
4. JDKOutils de diagnostic
■ jstack:JavaOutil de suivi de pile,Utilisé principalement pour imprimer la désignationJavaProcessus、 Fichier de base ou serveur de débogage distant JavaInformations de trace de pile pour le thread.
■ jmap:JavaOutil de cartographie de mémoire(Java Memory Map),Utilisé principalement pour imprimer la désignationJavaProcessus、 Mappage de mémoire d'objet partagé ou détails de mémoire tas pour les fichiers de base ou les serveurs de débogage distants .
■ jhat:JavaOutil d'analyse du tas(Java Heep Analysis Tool),Pour analyseJava Informations sur l'objet dans la mémoire tas .
■ jinfo:JavaOutils d'information de configuration(Java Configuration Information), Pour imprimer les assignations JavaProcessus、 Informations de configuration du fichier central ou du serveur de débogage distant , Peut également être modifié dynamiquement JVMConfiguration des paramètres.
■ jstat:JVM Outils de détection statistique (Java Statistics Monitoring Tool), Utilisé principalement pour la surveillance et l'affichage JVMStatistiques de performance pour,Y compris:gcInformations statistiques.
■ jcmd:JavaLigne de commande(Java Command), Utilisé pour JVM Envoyer une demande de commande de diagnostic .Parce quejmap Officiellement, c'est unsupported,jcmd Peut être utilisé comme alternative .
■ visualvm:AdoptionJMXConnexions d'interfaceJVMProcessus, Pour pouvoir voir JVMThread on、Mémoire、 Informations sur la classe, etc. .Divers plug - ins peuvent être installés.(AdoptionCATALINA_OPTSOuvertTomcat jmxInterface)
■ jconsole:Fonctionnalité similaire àvisualvmv, Vous pouvez afficher des informations spécifiques sur la pile de thread et l'occupation de la mémoire par âge , Et prend en charge l'exécution directe à distance MBEAN.
5. Autres outils
■ jmc:Java Mission Control, Est un diagnostic d'ensemble basé sur l'échantillonnage 、 Un outil très puissant pour l'analyse et la surveillance . Pour des raisons de frais , Pas trop. .
■ greys-atonomy:Outils de diagnostic en ligne, Il n'y a pas besoin de redémarrer en modifiant dynamiquement le Bytecode JVMAjouter un journal、 Objectif de l'amélioration dynamique du Code, comme le temps consacré aux méthodes de surveillance .
■ arthas:Alibaba Open SourceJava Kit de diagnostic ,Basé surgreys-atonomyEt voilà, Y compris le diagnostic en ligne 、Décompiler le Bytecode、 Voir les ressources les plus épuisantes JavaThread, etc..
■ jwebap:JavaEE Cadre d'essai de performance ,Basé surASM Mise en œuvre améliorée du Bytecode .Soutien:HTTPDemande、JDBCConnexion、method Suivi de la piste d'appel et nombre de fois pour 、Statistiques sur le temps écoulé.Développement secondairesuishen-webap,J'ai ajouté la bonneJava8EtRedis Surveillance des connexions .
■ awesome-scripts: Contient de nombreux outils de diagnostic communs 、Scripts, etc.,Y compris:greys-atonomy、sjk、VJTools Et obtenir des informations sur la pile de Threads qui consomment le plus de ressources 、StatistiquesTCP Nombre de connexions et autres scripts .(À suivre)
边栏推荐
- It's OK to have hands-on 8 - project construction details 3-jenkins' parametric construction
- Interview script of Software Test Engineer
- 不得不会的Oracle数据库知识点(四)
- [common error] custom IP instantiation error
- Delete all elements with a value of Y. The values of array elements and y are entered by the main function through the keyboard.
- Why use get/set instead of exposing properties
- The difference between objects and objects
- Oracle database knowledge points (I)
- Sequence list and linked list
- [NLP] text classification still stays at Bert? Duality is too strong than learning framework
猜你喜欢
[common error] custom IP instantiation error
Mobile asynchronous sending SMS verification code solution -efficiency+redis
机器学习基础:用 Lasso 做特征选择
打印菱形图案
Function: write function fun to find s=1^k+2^k +3^k ++ The value of n^k, (the cumulative sum of the K power of 1 to the K power of n).
What is regression testing? Talk about regression testing in the eyes of Ali Test Engineers
(Introduction to database system | Wang Shan) Chapter V database integrity: Exercises
[common error] UART cannot receive data error
Print diamond pattern
What is the potential of pocket network, which is favored by well-known investors?
随机推荐
老姜的特点
Function: store the strings entered in the main function in reverse order. For example, if you input the string "ABCDEFG", you should output "gfedcba".
Software testers, how can you quickly improve your testing skills? Ten minutes to teach you
[prefix and notes] prefix and introduction and use
Characteristics of ginger
CesiumJS 2022^ 源码解读[8] - 资源封装与多线程
【.NET+MQTT】.NET6 环境下实现MQTT通信,以及服务端、客户端的双边消息订阅与发布的代码演示
[complimentary ppt] kubemeet Chengdu review: make the delivery and management of cloud native applications easier!
Future源码一观-JUC系列
不得不会的Oracle数据库知识点(三)
Solution to the impact of Remote Code Execution Vulnerability of log4j2 component on December 9, 2021
GUI 应用:socket 网络聊天室
不得不会的Oracle数据库知识点(四)
GUI application: socket network chat room
Understanding of Radix
Oracle database knowledge points (I)
What insurance products should be bought for the elderly?
The FISCO bcos console calls the contract and reports an error does not exist
Summary of common tools and technical points of PMP examination
PMP 考试常见工具与技术点总结