Ansible 并行和异步
增加并行进程数
Ansible提供一个forks的属性,可以设置运行并行进程数。这个值默认比较保守,只有5个并行进程。我们可以根据自己的机器性能以及网络情况来设定,很多人使用50,也有用500以上的。如果有很多机器要管理的话,可以尝试先增加这个值,看看效果。有三个地方可以设置forks的数量:
- 环境变量:
export ANSIBLE_FORKS=100
- ansible.cfg这个配置文件里设置:
forks=100
- 运行ansible命令时增加参数:
-f 100
当机器数量比较大的时候,难免会有几台机器不能正常执行。这时候ansible会有提示to retry, use: --limit @/xxx/xxx.retry
,把它增加到上个命令的后面就好了。
异步
有时候执行某个任务可能需要很长的时间,在集群规模较大的情况下慢得让人无法忍受。这时可以考虑使用异步模式。在tasks
里增加async
的属性,设成某个数字,比如60,意思就是这个任务最大运行时间不能超过60秒。也可以设成0,意思是不管任务运行多久,一直等待即可。如果没有指定async
,则默认为同步模式。还可以设定poll
,默认值为10,意思就是每隔10秒轮询查看结果。如果不需要查看结果,设为0就好了。还可以通过register
和async_status
设定暂时不查看结果,等需要的时候再查看。具体做法可以参考上面的异步模式官网文档,也可以看翻译的中文文档。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具