Table des matières
Analyse des problèmes" >Analyse des problèmes
Maison tutoriels informatiques connaissances en informatique Comment résoudre le problème de la vitesse d'exécution lente d'ansible

Comment résoudre le problème de la vitesse d'exécution lente d'ansible

Mar 05, 2024 pm 05:34 PM
ansible become

Nous avons reçu des commentaires du projet selon lesquels le client a rencontré des difficultés lors du déploiement du produit à l'aide des outils que nous avons fournis et a rencontré des problèmes lors de l'étape d'ajout d'hôte, ce qui a empêché l'équipe de mise en œuvre de continuer à faire avancer le travail, ils nous ont donc demandé de l'aide.

Information environnementale : kylin10

Architecture : bras

Comment résoudre le problème de la vitesse dexécution lente dansible

Premiers signes

Pendant le processus de déploiement du système, nous avons utilisé des scripts Ansible pour les opérations par lots sur les hôtes. Récemment, j'ai rencontré le problème du processus d'exécution bloqué. On soupçonne initialement qu'ansible est bloqué pendant l'exécution. Pour vérifier cela, j'ai envoyé une commande sur le terrain pour tester.

localhost$ date
2024年02月19日星期 17:30:41 CST 
localhost$ ansible all -i "192.168.2.84, -m shell -a 'date' --l become --become-method=sudo --become-user=root -u test
192.168.2.84 CHANGED rc=0 >> 
2024年02月19日星期 17:33:34 CST 
Copier après la connexion

Effectivement, il a fallu plus de 2 minutes pour exécuter une simple commande ansible sur l'environnement avant de renvoyer le résultat. La cause du problème réside ici, et nous avons une direction générale.

Ansible s'appuie toujours sur la connexion à distance SSH lors de l'exécution réelle. Auparavant, nous avons rencontré une vitesse de connexion SSH lente. Il est initialement supposé que la vitesse de retour d'exécution peut être lente en raison de la vitesse de connexion SSH lente.

Vérifiez les paramètres ssh et vérifiez la configuration /etc/ssh/sshd_config

GSSAPIAuthentication no #关闭SERVER上的GSS认证  
Copier après la connexion

Sous Linux, la résolution DNS inversée de SSH est activée par défaut. Cela prend beaucoup de temps, elle doit donc être désactivée. Dans le fichier de configuration, bien que UseDNS yes soit commenté, le commutateur par défaut est yes

UseDNS=no  #关闭SERVER上DNS反向解析 
Copier après la connexion

Il s'avère que les deux configurations de paramètres ssh sur le projet sont cohérentes avec ce qui précède, et le test manuel de la connexion ssh à l'hôte homologue est très rapide

Analyse des problèmes

Je n'en ai aucune idée, je ne peux donc utiliser que la commande Linux strace pour tracer les appels système

Comment résoudre le problème de la vitesse dexécution lente dansible

En regardant le journal des straces, nous avons constaté qu'il existe un grand nombre d'attentes de sélection, qui devraient être bloquées pendant une longue période lors de l'exécution d'une certaine opération.

Débogage avec ansible

ansible all -i "192.168.2.84, -m shell -a 'date' --l become --become-method=sudo --become-user=root -u test -vvv
Copier après la connexion

Ajoutez -vvv après la commande pour voir le processus d'exécution détaillé

Comment résoudre le problème de la vitesse dexécution lente dansible

Résoudre le problème

À partir des informations de débogage, vous pouvez voir l'erreur « mux_client_read_packet : read header failed : Broken pipe ». Lors de l'exécution du script, vous pouvez voir que les commandes liées à Python sont en cours d'exécution. ?

J'ai vérifié les informations en ligne et constaté qu'il existe des problèmes de compatibilité entre ansible et python.

Comment résoudre le problème de la vitesse dexécution lente dansible

Vérifiez donc la version de python, vous pouvez voir que la version par défaut de python est python2, mais il y a aussi python3 sur le système, essayez de modifier le lien logiciel vers python3.7 pour vérifier

Comment résoudre le problème de la vitesse dexécution lente dansible

Exécutez à nouveau la commande ansible

Comment résoudre le problème de la vitesse dexécution lente dansible

Le temps d'exécution est de 1,3s. Il semble que la compatibilité des versions ansible et python soit à l'origine de ce problème.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Explication détaillée du fonctionnement d'Ansible Explication détaillée du fonctionnement d'Ansible Feb 18, 2024 pm 05:40 PM

Le principe de fonctionnement d'Ansible peut être compris à partir de la figure ci-dessus : l'extrémité de gestion prend en charge trois méthodes locales, ssh et zeromq pour se connecter à l'extrémité gérée. La valeur par défaut est d'utiliser une connexion basée sur ssh. Cette partie correspond au module de connexion. dans le diagramme d'architecture ci-dessus ; il peut être connecté par type d'application. La classification HostInventory (liste d'hôtes) est effectuée d'autres manières. Le nœud de gestion implémente les opérations correspondantes via divers modules. Un seul module et l'exécution par lots d'une seule commande peuvent être appelés. -hoc ; le nœud de gestion peut implémenter un ensemble de tâches multiples via des playbooks. Implémenter un type de fonctions, telles que l'installation et le déploiement de services Web, la sauvegarde par lots de serveurs de base de données, etc. Nous pouvons simplement comprendre les playbooks au fur et à mesure que le système passe

Ansible Ad-Hoc (mode peer-to-peer) Ansible Ad-Hoc (mode peer-to-peer) Feb 18, 2024 pm 04:48 PM

Documentation officielle : https://docs.ansible.com/ansible/latest/command_guide/intro_adhoc.html Introduction La commande ad-hoc est une commande temporairement saisie et exécutée, généralement utilisée pour les tests et le débogage. Ils n'ont pas besoin d'être enregistrés de manière permanente. En termes simples, l'ad hoc est une "commande instantanée". Modules couramment utilisés 1. module de commande (module par défaut) Le module par défaut n'est pas aussi puissant que le shell. Fondamentalement, le module shell peut prendre en charge les fonctions du module de commande. 【1】Aide ansible-doccommand# Il est recommandé d'utiliser le ansible-doccomm suivant

Comment résoudre le problème de la vitesse d'exécution lente d'ansible Comment résoudre le problème de la vitesse d'exécution lente d'ansible Mar 05, 2024 pm 05:34 PM

Après avoir reçu des commentaires sur le projet, le client a rencontré des difficultés lors du déploiement du produit à l'aide des outils que nous avons fournis, ainsi que des problèmes lors de l'étape d'ajout d'hôte, ce qui a empêché l'équipe de mise en œuvre de continuer à faire avancer le travail. Il nous a donc demandé de l'aide. Informations sur l'environnement : architecture kylin10 : arm a commencé à prendre forme. Pendant le processus de déploiement du système, pour les opérations par lots des hôtes, nous avons utilisé des scripts ansible pendant le développement. Récemment, j'ai rencontré un problème avec le processus d'exécution bloqué. On soupçonnait initialement qu'ansible était bloqué pendant l'exécution. Pour vérifier cela, j'ai envoyé une commande sur le terrain pour tester. localhost$date2024-02-19 dimanche 17:30:41CSTlocalhost$ansibleall-i

Variables du playbook Ansible (utilisation de base des variables) Variables du playbook Ansible (utilisation de base des variables) Feb 18, 2024 pm 04:45 PM

Ansible est un outil open source de gestion et de déploiement de configuration automatisé qui aide les administrateurs à automatiser les tâches sur plusieurs serveurs. Dans Ansible, les playbooks sont des fichiers YAML utilisés pour décrire les tâches d'automatisation. L'utilisation de variables est une partie importante de la fonctionnalité Playbook, qui peut rendre votre Playbook plus flexible, réutilisable et plus facile à maintenir. Voici quelques utilisations de base des variables dans Ansible Playbook : Définir des variables : vous pouvez définir des variables dans le playbook, le fichier d'inventaire, le fichier vars ou sur la ligne de commande à l'aide du paramètre -e. Exemple : Définir des variables dans Playbook : ----na

Explorer l'artefact de gestion à distance Linux : cinq outils pratiques recommandés Explorer l'artefact de gestion à distance Linux : cinq outils pratiques recommandés Feb 23, 2024 pm 01:00 PM

En tant que système d'exploitation puissant, les outils de gestion à distance de Linux sont largement utilisés dans la gestion des serveurs, la surveillance des réseaux, etc. Dans notre travail quotidien, nous devons souvent utiliser des outils spécialisés pour gérer à distance les serveurs Linux. Cet article présentera cinq outils pratiques de gestion à distance Linux et fournira des exemples de code spécifiques pour démontrer leur utilisation. 1.SSHSSH (SecureShell) est un protocole réseau crypté utilisé pour se connecter en toute sécurité et exécuter des commandes à distance. Via SSH, les utilisateurs peuvent

Outils de gestion à distance Linux : cinq outils recommandés Outils de gestion à distance Linux : cinq outils recommandés Feb 24, 2024 pm 11:18 PM

Outils de gestion à distance Linux que vous ne connaissez pas : cinq recommandations recommandées Dans le domaine des technologies de l'information modernes, le système d'exploitation Linux est devenu l'un des systèmes d'exploitation préférés de nombreuses entreprises et particuliers. Pour les administrateurs système Linux, les outils de gestion à distance sont très importants, car ils les aident à surveiller et à gérer les serveurs distants rapidement et efficacement. Cet article présentera cinq outils de gestion à distance Linux que vous ne connaissez peut-être pas et fournira des exemples de code spécifiques. J'espère qu'il vous sera utile dans la gestion à distance Linux. tmu

Comment Java s'interface-t-il avec la plateforme d'exploitation et de maintenance automatique Ansible ? Comment Java s'interface-t-il avec la plateforme d'exploitation et de maintenance automatique Ansible ? Apr 20, 2023 pm 04:40 PM

Java se connecte à la plate-forme d'exploitation et de maintenance automatique ansible pour réaliser la collecte et la distribution de fichiers. Cette station d'accueil a principalement les deux fonctions suivantes : la collecte de fichiers (opérations par lots sur les fichiers, y compris la collecte par lots de fichiers communs tels que les fichiers journaux de plusieurs hôtes) la distribution de fichiers. (opérations par lots sur les fichiers) Effectuer des opérations par lots, y compris la distribution par lots de fichiers communs (tels que des fichiers journaux) à partir de plusieurs hôtes) Description du scénario et installation d'ansibleyum Étant donné qu'ansible n'a pas de package d'installation Windows, afin de faciliter les tests, un Linux. L'environnement a été construit pour les travaux ultérieurs. Cette fois, la méthode yum est utilisée pour l'installation. Après avoir utilisé la méthode yum pour installer Ansible, installez d'abord la source EPEL. yuminstall-yhttp://dl.fedor

Comment configurer des outils de déploiement automatisés (tels qu'Ansible) sous Linux Comment configurer des outils de déploiement automatisés (tels qu'Ansible) sous Linux Jul 07, 2023 pm 05:37 PM

Comment configurer des outils de déploiement automatisés (tels qu'Ansible) sous Linux Introduction : Dans le processus de développement, d'exploitation et de maintenance de logiciels, nous rencontrons souvent des situations où les applications doivent être déployées sur plusieurs serveurs. Le déploiement manuel est sans aucun doute inefficace et sujet aux erreurs, il est donc essentiel de configurer un outil de déploiement automatisé. Cet article explique comment configurer Ansible, un outil de déploiement automatisé couramment utilisé, sur Linux pour réaliser un déploiement d'applications rapide et fiable. 1. Installez Ansible. Ouvrez le terminal et utilisez la commande suivante.

See all articles