Ansible 실행 속도가 느린 문제를 해결하는 방법

PHPz
풀어 주다: 2024-03-05 17:34:02
앞으로
722명이 탐색했습니다.

고객이 우리가 제공한 도구를 사용하여 제품을 배포할 때 어려움을 겪고, 호스트 추가 단계에서 문제가 발생하여 구현 팀이 작업을 계속 진행하지 못하여 도움을 요청했다는 프로젝트 피드백을 받았습니다.

환경 정보: kylin10

건축: ​​arm

Ansible 실행 속도가 느린 문제를 해결하는 방법

첫 징후

시스템 배포 프로세스 중에 호스트의 일괄 작업을 위해 Ansible 스크립트를 사용했습니다. 최근 실행 프로세스가 중단되는 문제가 발생했습니다. 처음에는 실행 중에 앤서블이 차단된 것으로 의심됩니다. 이를 확인하기 위해 테스트를 위해 현장에 명령을 보냈습니다.

으아아아

물론 결과를 반환하기 전에 환경에서 간단한 ansible 명령을 실행하는 데 2분 이상이 걸렸습니다. 문제의 원인은 여기에 있으며 일반적인 방향은 있습니다.

Ansible은 실제 실행 중에 여전히 SSH 원격 연결에 의존합니다. 이전에는 느린 SSH 연결 속도로 인해 실행 반환 속도가 느릴 수 있다고 추측됩니다.

ssh 매개변수를 확인하고 /etc/ssh/sshd_config 구성을 확인하세요

으아아아

Linux에서는 SSH의 역방향 DNS 확인이 기본적으로 활성화되어 있으므로 시간이 많이 소모되므로 꺼야 합니다. 구성 파일에는 UseDNS yes가 주석 처리되어 있지만 기본 스위치는 yes입니다

으아아아

프로젝트의 두 SSH 매개변수 구성이 위와 일치하며 피어 호스트에 대한 SSH 로그인 수동 테스트가 매우 빠른 것으로 나타났습니다

문제 분석

전혀 모르기 때문에 Linux strace 명령만 사용하여 시스템 호출을 추적할 수 있습니다

Ansible 실행 속도가 느린 문제를 해결하는 방법

strace 로그를 살펴보면 특정 작업을 수행할 때 오랫동안 차단해야 하는 select wait가 많은 것을 발견했습니다.

Ansible을 사용한 디버깅

으아아아

명령어 뒤에 -vvv를 추가하면 자세한 실행 과정을 보실 수 있습니다

Ansible 실행 속도가 느린 문제를 해결하는 방법

문제 해결

디버그 정보를 보면 "mux_client_read_packet: read header failed: Broken Pipe"라는 오류가 보입니다. 스크립트가 실행되는 곳에서는 Python 관련 명령이 실행되는 것을 알 수 있습니다. 버전?

온라인에서 정보를 확인해보니 ansible과 python 사이에 호환성 문제가 있는 것을 발견했습니다.

Ansible 실행 속도가 느린 문제를 해결하는 방법

그래서 Python 버전을 확인해 보니 Python의 기본 버전은 python2인데, 시스템에 python3도 있다는 것을 확인하려면 python3.7로 소프트 링크를 수정해 보세요

)

Ansible 실행 속도가 느린 문제를 해결하는 방법

ansible 명령을 다시 실행하세요

Ansible 실행 속도가 느린 문제를 해결하는 방법

실행 시간이 1.3초입니다. Ansible과 Python 버전의 호환성 때문에 이 문제가 발생한 것 같습니다.

위 내용은 Ansible 실행 속도가 느린 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:mryunwei.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿