目录
问题分析" >问题分析
首页 电脑教程 电脑知识 ansible执行速度慢怎么解决

ansible执行速度慢怎么解决

Mar 05, 2024 pm 05:34 PM
ansible become

收到项目反馈,客户在使用我们提供的工具部署产品时遇到了困难,在主机添加步骤上遇到了问题,导致实施团队无法继续推进工作,因此向我们寻求帮助。

环境信息:kylin10

架构:arm

ansible执行速度慢怎么解决

初见端倪

在系统部署过程中,针对主机的批量操作,我们开发时采用了ansible剧本。最近遇到了执行过程卡顿的问题,初步怀疑是ansible执行时出现了阻塞。为了验证这一点,我已经发送了一条命令给现场进行测试。

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 
登录后复制

果然,一条简单的ansible命令,环境上执行了2min多才返回结果,问题原因就出在这里了,有了大致方向。

ansible实际执行时仍然依赖SSH远程连接,之前遇到SSH连接速度缓慢的情况,初步推测可能是由于SSH连接速度慢导致执行返回速度慢。

检查ssh参数,查/etc/ssh/sshd_config配置

GSSAPIAuthentication no #关闭SERVER上的GSS认证  
登录后复制

在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes

UseDNS=no  #关闭SERVER上DNS反向解析 
登录后复制

结果发现,项目上这2个ssh参数配置都是和上面一致的,并且手工测试ssh登录对端主机,速度很快

问题分析

没有头绪,只能用linux的strace命令跟踪下系统调用了

ansible执行速度慢怎么解决

查看strace日志发现有大量的select等待,应该是在执行某项操作时长时间阻塞。

使用ansible调试

ansible all -i "192.168.2.84, -m shell -a 'date' --l become --become-method=sudo --become-user=root -u test -vvv
登录后复制

命令后加上-vvv就可以看到详细的执行过程了

ansible执行速度慢怎么解决

解决问题

从debug信息中,看到报错”mux_client_read_packet: read header failed: Broken pipe”,执行脚本的地方可以看到在执行python相关的命令,ansible依赖于python,是否和python版本有关系呢?

在网上查看资料说ansible和python存在兼容性问题。

ansible执行速度慢怎么解决

于是检查下python版本,可以看到python默认版本为python2,但是系统上也有python3,尝试将软链接修改python3.7验证

ansible执行速度慢怎么解决

再次执anible命令

ansible执行速度慢怎么解决

执行时间1.3s,看来是ansible和python版本的兼容性导致了这次问题。

以上是ansible执行速度慢怎么解决的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Ansible工作原理详解 Ansible工作原理详解 Feb 18, 2024 pm 05:40 PM

Ansible工作原理从上面的图上可以了解到:管理端支持local、ssh、zeromq三种方式连接被管理端,默认使用基于ssh的连接,这部分对应上面架构图中的连接模块;可以按应用类型等方式进行HostInventory(主机清单)分类,管理节点通过各类模块实现相应的操作,单个模块,单条命令的批量执行,我们可以称之为ad-hoc;管理节点可以通过playbooks实现多个task的集合实现一类功能,如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为,系统通过

ansible执行速度慢怎么解决 ansible执行速度慢怎么解决 Mar 05, 2024 pm 05:34 PM

收到项目反馈,客户在使用我们提供的工具部署产品时遇到了困难,在主机添加步骤上遇到了问题,导致实施团队无法继续推进工作,因此向我们寻求帮助。环境信息:kylin10架构:arm初见端倪在系统部署过程中,针对主机的批量操作,我们开发时采用了ansible剧本。最近遇到了执行过程卡顿的问题,初步怀疑是ansible执行时出现了阻塞。为了验证这一点,我已经发送了一条命令给现场进行测试。localhost$date2024年02月19日星期17:30:41CSTlocalhost$ansibleall-i

Ansible playbook变量(变量基本用法) Ansible playbook变量(变量基本用法) Feb 18, 2024 pm 04:45 PM

Ansible是一种开源的自动化配置管理和部署工具,可以帮助管理员在多台服务器上自动执行任务。在Ansible中,Playbook是用于描述自动化任务的YAML文件。使用变量(variables)是Playbook功能的一个重要部分,它可以让你的Playbook更灵活、可重用和易于维护。以下是AnsiblePlaybook中变量的一些基本用法:定义变量:可以在Playbook、inventory文件、vars文件或者使用-e参数在命令行中定义变量。例子:在Playbook中定义变量:----na

Ansible Ad-Hoc(点对点模式) Ansible Ad-Hoc(点对点模式) Feb 18, 2024 pm 04:48 PM

官方文档:https://docs.ansible.com/ansible/latest/command_guide/intro_adhoc.html简介Ad-hoc命令是一种临时输入并执行的命令,通常用于测试和调试。它们不需要永久保存,简单来说,ad-hoc就是“即时命令”。常用模块1、command模块(默认模块)默认模块,没有shell强大,基本上shell模块都可以支持command模块的功能。【1】帮助ansible-doccommand#推荐使用下面这个ansible-doccomm

探秘Linux远程管理神器:五款实用工具推荐 探秘Linux远程管理神器:五款实用工具推荐 Feb 23, 2024 pm 01:00 PM

Linux作为一种强大的操作系统,其远程管理工具被广泛应用于服务器管理、网络监控等方面。在日常工作中,我们经常需要使用一些专门的工具来远程管理Linux服务器。本文将介绍五款实用的Linux远程管理工具,并提供具体的代码示例来演示它们的用法。1.SSHSSH(SecureShell)是一种加密网络协议,用于安全地远程登录和执行命令。通过SSH,用户可以在

Linux远程管理利器:推荐五款精选工具 Linux远程管理利器:推荐五款精选工具 Feb 24, 2024 pm 11:18 PM

你所不知道的Linux远程管理工具:精选五款推荐在现代的信息技术领域中,Linux操作系统已经成为了许多企业和个人使用的首选操作系统之一。对于Linux系统管理员来说,远程管理工具是非常重要的,可以帮助他们迅速、高效地监控和管理远程服务器。本文将介绍五款你可能不知道的Linux远程管理工具,并提供具体的代码示例,希望对你在Linux远程管理中有所帮助。tmu

Java 如何与 Ansible 自动运维平台对接? Java 如何与 Ansible 自动运维平台对接? Apr 20, 2023 pm 04:40 PM

Java对接ansible自动运维化平台实现文件采集分发此次对接主要为以下两个功能:文件采集(对文件进行批量操作,包括批量从多台主机中采集共性文件如日志文件)文件分发(对文件进行批量操作,包括批量从多台主机中分发共性文件如日志文件)场景说明及ansibleyum安装因ansible没有Windows的安装包,所以为了方便测试,搭建了一套Linux环境进行后续工作。此次采用yum方式安装,在采用yum方式安装Ansible,首先安装EPEL源。yuminstall-yhttp://dl.fedor

如何在Linux上配置自动化部署工具(如Ansible) 如何在Linux上配置自动化部署工具(如Ansible) Jul 07, 2023 pm 05:37 PM

如何在Linux上配置自动化部署工具(如Ansible)引言:在软件开发和运维过程中,经常会遇到需要将应用程序部署到多台服务器上的情况。手动部署无疑效率低下且容易出错,因此配置一个自动化部署工具是必不可少的。本文将介绍如何在Linux上配置一个常用的自动化部署工具——Ansible,以实现快速、可靠的应用程序部署。一、安装Ansible打开终端,使用以下命令

See all articles