目錄
問題分析" >問題分析
首頁 電腦教學 電腦知識 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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1268
29
C# 教程
1248
24
Ansible運作方式詳解 Ansible運作方式詳解 Feb 18, 2024 pm 05:40 PM

Ansible工作原理從上面的圖可以了解到:管理端支援local、ssh、zeromq三種方式連接被管理端,預設使用基於ssh的連接,這部分對應上面架構圖中的連接模組;可以按應用類型等方式進行HostInventory(主機清單)分類,管理節點透過各類模組實現對應的操作,單一模組,單一指令的批次執行,我們可以稱為ad-hoc;管理節點可以透過playbooks實作多個task的集合實作一類功能,如web服務的安裝部署、資料庫伺服器的批次備份等。 playbooks我們可以簡單的理解為,系統透過

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

ansible執行速度慢怎麼解決 ansible執行速度慢怎麼解決 Mar 05, 2024 pm 05:34 PM

收到專案回饋,客戶在使用我們提供的工具部署產品時遇到了困難,在主機新增步驟上遇到了問題,導致實施團隊無法繼續進行工作,因此向我們尋求協助。環境資訊:kylin10架構:arm初見端倪在系統部署過程中,針對主機的批次操作,我們開發時採用了ansible劇本。最近遇到了執行過程卡頓的問題,初步懷疑是ansible執行時出現了阻塞。為了驗證這一點,我已經發送了一條命令給現場進行測試。 localhost$date2024年2月19日星期17:30:41CSTlocalhost$ansibleall-i

Linux遠端管理利器:推薦五款精選工具 Linux遠端管理利器:推薦五款精選工具 Feb 24, 2024 pm 11:18 PM

你所不知道的Linux遠端管理工具:精選五款推薦在現代的資訊科技領域中,Linux作業系統已經成為了許多企業和個人使用的首選作業系統之一。對於Linux系統管理員來說,遠端管理工具是非常重要的,可以幫助他們迅速、有效率地監控和管理遠端伺服器。本文將介紹五款你可能不知道的Linux遠端管理工具,並提供具體的程式碼範例,希望對你在Linux遠端管理中有所幫助。 tmu

探秘Linux遠端管理神器:五款實用工具推薦 探秘Linux遠端管理神器:五款實用工具推薦 Feb 23, 2024 pm 01:00 PM

Linux作為一種強大的作業系統,其遠端管理工具被廣泛應用於伺服器管理、網路監控等方面。在日常工作中,我們經常需要使用一些專門的工具來遠端管理Linux伺服器。本文將介紹五款實用的Linux遠端管理工具,並提供具體的程式碼範例來示範它們的用法。 1.SSHSSH(SecureShell)是一種加密網路協議,用於安全地遠端登入和執行命令。透過SSH,用戶可以在

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

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