ansible执行速度慢怎么解决
ansible执行速度慢怎么解决
本文为您带来的是ansible执行速度慢怎么解决方面的知识,具体介绍如下:
接到项目反馈,客户环境使用我们提供工具部署产品,在主机添加步骤卡了很久,实施同学没有办法,将问题上升给我们。
环境信息:kylin10
架构:arm

初见端倪
系统部署中对于主机批量操作,我们开发时使用的是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命令跟踪下系统调用了

查看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就可以看到详细的执行过程了

解决问题
从debug信息中,看到报错”mux_client_read_packet: read header failed: Broken pipe”,执行脚本的地方可以看到在执行python相关的命令,ansible依赖于python,是否和python版本有关系呢?
在网上查看资料说ansible和python存在兼容性问题。
相关阅读
-
win7玩游戏好还是win10好 玩游戏装win7系统好还是win10
今天带来的IT技巧小经验玩游戏装win7系统好还是win10的IT小经验,关于win7玩游戏好还是win10好 玩游戏装win7系统好还是win10,接下来就是全面介绍。 在我们准备对自己的电脑进行系统安装的时候
-
最好用的手机系统排行 2023年手机配置排行榜
正文核心介绍:最好用的手机系统排行和2023年手机配置排行榜的相关经验,一起来看看吧! 随着近年来国产手机系统的崛起,很多小伙伴换手机再也不仅仅看参数了,更多的考虑各家差异化的
-
在虚拟机上安装win11的方法 虚拟机安装win11系统详细教程
小编为你解答在虚拟机上安装win11的方法方面的讲解,关于在虚拟机上安装win11的方法 虚拟机安装win11系统详细教程,接下来小编为网友介绍。 我们可以通过在虚拟机上安装win11的方法,避免
-
dell笔记本按f几进u盘 dell电脑重装系统按f几详细介绍
一篇关于dell电脑重装系统按f几详细介绍的IT小经验,关于dell笔记本按f几进u盘 dell电脑重装系统按f几详细介绍,接下来就是全面介绍。 戴尔电脑重装系统非常的简单,不过很多刚接触的用户应


