https://www.inflearn.com/course/ansible-%EC%8B%AC%ED%99%94
CH 6. 성능 튜닝하기
ㅇ 성능 테스트를 위한 실습 환경 구성
- 8GB 로 진행
ㅇ Pipelining
- 파이프라인은 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조
- 기존 (총 3번의 통신 필요)
1. ssh 통신 : ~/.ansible/tmp 의 임시 저장 공간 생성
2. sftp, scp, piped 통신 : 실행될 파일을 전달 (ansible-playbook )
3. ssh 통신 : 실행
- 파이프라이닝 옵션 적용 후
1. ssh 로 파일을 보냄과 동시에 실행
- vars:
ansible_ssh_pipelining: true
로 설정
- 실습
> node101
# watch -n 1 "ls ~/.ansible/tmp" 로 1초마다 경로 확인
> Server
# ans node101 -m apt -a "pkg=tree state=present" -s
> s는 sudo 약자
ㅇ Forks
- 한번에 실행하는 값
- 운영체제에서는 System Call(fork)을 통해서 하나의 프로세스에서 자식 프로세스로 분기를 의미
- pipelining을 통해 실행할때 forks = 5가 기본값으로 설정 (통로가 5개 만들어짐)
- # anp instal ~ -f 10
=> -f 10 은 fork가 10개
=> Ansible 환경설정이나 실행시 옵션으로만 설정 가능 (환경설정은 ansible.cfg 에 있음)
- 앤서블의 Serial
> 20개 중에 몇개를 한번에 실행할 것인가?
> serial 과 fork 잘 설명해둔것
https://medium.com/devops-srilanka/difference-between-forks-and-serial-in-ansible-48677ebe3f36
ㅇ Async
- 동기화는 동시에 시스템을 작동시키기 위해 사건(Tasks)을 일치시키는 것
- poll = 0 => Fire and Forget
이는 결과 값을 체크하지 않음을 의미함
성공적인 결과를 보장하지 않음
=> 단순 명령어만 보낸거만 기록됨
ㅇ Strategy free
- poll 주기로 가지고 Tasks의 전체 상태를 체크하고 시작하는것이 아니라, 작업이 끝나면 바로 다음 작업을 시작함
- 파일안에
strategy: free
입력
- 포크 수를 늘릴수록 좋아짐
ㅇ Blocks
- Tasks를 가능한 최소한의 개수로 묶어서 요청하는 것
- with_items , with_flattened 로 사용
ㅇ Cache
- 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시에 데이터를 미리 복사해 혾으면 보다 빠른 접근 시간을 가지기 때문에 최소한의 접근 시간으로 빠른 속도로 데이터에 접근할 수 있다.
- Ansible에서는??
> fact_caching!
- fact를 caching 할 수 있음
- 기본적으로 memory에 저장 => jsonfile, memcached, mongodb, yaml, redis 등으로 변경 가능
- 방법 : ansible.cfg 에서 변경 => fact_caching = jsonfile, fact_caching_connection 에 파일명 기입,
cache 들의 timeout(유효시간) 은 기본 하루 (86400초)
- 캐시서버 활용하기
- Ansible-Server를 패키지 캐시서버로 활용하여, 노드에서 인터넷을 사용하지 않음
- 캐시서버 만들기 참고 사이트
> https://www.tecmint.com/apt-cache-server-in-ubuntu/
'Ansible' 카테고리의 다른 글
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 5 (0) | 2021.06.30 |
---|---|
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 4 (0) | 2021.06.29 |
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 3 (0) | 2021.06.29 |
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 2 (0) | 2021.06.28 |
[Ansible] "인프런 - [심화] 앤서블(Ansible)을 깊이 있게 활용하기" 강의 정리 - 1 (0) | 2021.06.28 |