forks: 기본값은 5로, Ansible이 원격 호스트와 통신하기 위해 병렬로 실행하는 프로세스의 수입니다. 이 수가 높을수록 Ansible은 동시에 관리할 수 있는 클라이언트가 많아지고 처리 속도가 향상됩니다. 설정할 수 있는 값은 관리 서버의 CPU/RAM 제한에 따라 다릅니다. 기본값인 5는 매우 작으며, Ansible 문서에 따르면 많은 사용자들이 50개 이상, 심지어 500개 이상으로 설정하는 경우가 많습니다.
gathering: 이 변수는 팩트를 수집하는 정책을 변경합니다. 기본값은 implicit로, 팩트가 체계적으로 수집될 것이라는 의미입니다. 이 변수를 smart로 변경하면, 이미 수집되지 않은 경우에만 팩트를 수집합니다. 이 옵션은 팩트 캐시(아래 참조)와 결합하여 성능을 크게 향상시킬 수 있습니다.
host_key_checking: 서버 보안에 주의하세요! 그러나 환경을 제어할 수 있는 경우 원격 서버의 키 제어를 비활성화하고 연결 시간을 절약할 수 있습니다. 또한 원격 서버에서 SSH 서버의 DNS 사용을 비활성화할 수도 있습니다 (/etc/ssh/sshd_config, 옵션 UseDNS no). 이 옵션은 연결 시간을 낭비하며 대부분 연결 로그에서만 사용됩니다.
ansible_managed: 이 변수는 기본적으로 Ansible 관리를 포함하는데, 일반적으로 원격 서버에 배포되는 파일 템플릿에서 사용됩니다. 이를 통해 관리자에게 파일이 자동으로 관리되고 변경 사항이 잠재적으로 손실될 수 있다는 것을 알릴 수 있습니다. 관리자들에게 더 완전한 메시지를 제공하는 것이 흥미로울 수 있습니다. 그러나 이 변수를 변경하면 템플릿과 연결된 핸들러를 통해 데몬을 다시 시작할 수 있으므로 주의해야 합니다.
ssh_args = -C -o ControlMaster=auto -o ControlPersist=300s -o PreferredAuthentications=publickey: ssh 연결 옵션을 지정합니다. 공개 키 이외의 모든 인증 방법을 비활성화하여 많은 시간을 절약할 수 있습니다. ControlPersist 값을 증가시켜서 성능을 향상시킬 수도 있습니다 (문서에서는 30분과 같은 값이 적합할 수 있다고 제안합니다). 클라이언트와의 연결이 더 오래 유지되고 동일한 서버에 다시 연결할 때 재사용될 수 있어 시간을 상당히 절약할 수 있습니다.
control_path_dir: 연결 소켓의 경로를 지정합니다. 이 경로가 너무 길면 문제가 발생할 수 있습니다. /tmp/.cp와 같이 짧은 경로로 변경하는 것을 고려해보세요.
pipelining: 이 값을 True로 설정하면 원격 모듈을 실행할 때 필요한 SSH 연결 수가 줄어들어 성능이 향상됩니다. 먼저 sudoers 옵션에서 requiretty 옵션이 비활성화되어 있는지 확인해야 합니다(문서 참조).