[Docker] 컨테이너 관리하기(실습)

99winnmin·2023년 2월 2일
0

Docker

목록 보기
12/16

Linux 부하 테스트 program - Stress

stress container 생성

컨테이너 빌드 : 부하 테스트 프로그램 stress를 설치하고 동작시키는 컨테이너 빌드
CPU 부하 테스트 : 2개 cpu core를 100% 사용하도록 부하 발생 : stress --cpu 2 or stress -c 2
메모리 부하 테스트 : 프로세스 수 2개와 사용할 메모리만틈 부하 발생 : `stress --vm 2 --vm-bytes <사용할 크기>

컨테이너 리소스 제한 및 모니터링

메모리 리소스 제한

$ docker run -m 100m --memory-swap 100m stress:latest stress --vm-bytes 90m -t 5s : stress 라는 컨테이너에 90m 만큼 메모리 사용하도록 명령 -> stress 컨테이너는 100m 만큼 사용할 수 있으므로 5초 후 success 되는 모습
$ docker run -m 100m --memory-swap 100m stress:latest stress --vm-bytes 150m -t 5s : stress 라는 컨테이너에 150m 만큼 메모리 사용하도록 명령 -> stress 컨테이너는 100m 만큼 사용할 수 있으므로 바로 FAIL 되면서 죽음
$ docker run -m 100m stress:latest stress --vm-bytes 150m -t 5s : stress 라는 컨테이너에 150m 만큼 메모리 사용하도록 명령 -> stress 컨테이너는 swap 메모리 설정이 안 됐을 경우 세팅값*2만큼 사용할 수 있으므로 200m 사용가능 -> 5초 후 success 되는 모습

$ docker run -d -m 100m --name m5 --oom-kill-disable=true nginx : Out Of Memory Kill 방지를 세팅하고 nginx를 m5 이름의 컨테이너로 run 하겠다!...지만

Linux 5.15.0-58-generic x86_64 버전 linux kernal에서는 폐기되었나보다...

CPU 리소스 제한

$ docker run --cpuset-cpus 0 --name c1 -d stress:latest stress --cpu 1 : stress를 c1 이름의 컨테이너로 돌리는데 0번 cpu core를 제한 없이 쓰도록함 + cpu 부하 발생 추가
$ docker run --cpuset-cpus 0-1 -name c1 -d stress:latest stress --cpu 1 : 0,1번 core를 번갈아 가면서 씀

$ htop : Linux resource 관제 application

$ docker run -c 2048 --name cload1 -d stress:latest
$ docker run --name cload2 -d stress:latest
$ docker run -c 512 --name cload3 -d stress:latest
$ docker run -c 512 --name cload4 -d stress:latest
$ docker stats : 각 컨테이너별로 CPU 사용률 check

Block I/O 리소스 제한

$ docker run -it --rm --device-write-iops /dev/sda:10 ubuntu:latest /bin/bash
$ docker run -it --rm --device-write-iops /dev/sda:100 ubuntu:latest /bin/bash
2가지 명령어로 quota를 다르게 했을 때 초당 데이터 입력 연산량이 확연히 다름을 볼 수 있는 모습

cAdvisor 설치 및 사용

추후 사용해보자...

추가 실습

  1. db 라는 이름을 가지는 mysql 컨테이너 만들기

<조건>

  • MYSQL_ROOT_PASSWORD : pass
  • 물리 메모리 : 200M
  • 스왑 메모리 : 300M
  • 할당 CPU core 수 : 1
  1. db 컨테이너 리소스 사용량을 docker stat 명령으로 확인
profile
功在不舍

0개의 댓글

관련 채용 정보