일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Linux
- 구름LEVEL
- 백엔드
- 주니어
- 해결
- 스프링
- dfs
- docker
- 스프링 부트
- 배열
- 문자열
- 스타트업
- 스프링부트
- spring
- 명령어
- Java
- 인텔리제이
- 이직
- 구현
- 코딩테스트
- bfs
- 도커
- HTTP
- 개발자
- 해시맵
- 프로그래머스
- IntelliJ
- HashMap
- spring boot
- 자료구조
- Today
- Total
목록2024/12/10 (2)
마이의 개발 블로그
배경지정된 사양에서의 부하테스트를 위해 도커가 사용하는 로컬머신의 코어와 메모리를 제한할 필요가 있었습니다. 하나의 도커 컨테이너만 동작시킨다면 실행 옵션에 명령어를 사용하는 방법도 있겠습니다만, 10개 이상의 도커 컨테이너가 도커 컴포즈로 동작하는 상황이었기 때문에 자원을 유동적으로 공유해서 사용해야하므로 OS에서 도커에게 할당하는 자원을 제한하는 편이 낫다고 판단했습니다. 여기서는 cgroups 명령어를 통해 도커 사용 자원을 제한하는 방법을 소개하고자 합니다. cgroups 명령어를 통해 도커 사용 자원을 제한하는 방법1. cgroups 디렉토리 생성(디렉토리명: docker_limit)sudo cgcreate -g memory,cpu:/docker_limit2. CPU, 메모리 제한 설정 추가//..
배경납품한 솔루션 WAS의 응답이 피크 시간대에 느려지는 현상이 관찰되었습니다. 초당 약 600개 이상의 페이지 요청이 지속적으로 발생함을 모니터링할 수 있었는데 이는 기존 고객사들 대비 많은 처리량을 요구하다보니 별도의 조치가 필요했습니다. 이에 따라 제한된 자원 내에서 수평 스케일(scale-out)에 대한 부하 테스트를 수행하여 적당한 타협점을 도출해낼 수 있었는데, 그 과정과 결과를 공유하고자 합니다. 로드밸런싱은 도커와 Nginx를 이용하여 수행했습니다.테스트 수행 방식- JMeter 이용- OS에서 도커 자원 제한: 8코어 16GB 메모리 (다수 컨테이너가 공유함)- 가장 많은 부하가 걸리는 WAS의 API에 대해 초당 요청 수를 증가시켜가며 평균, 최대 응답시간 측정테스트 결과*결과표의 'C..