(해결완료)EC2 이중화를 해도 기존 EC2 CPU 사용률이 높은 문제
수업에서 하는대로 진행했습니다. AMI로 이중화를 했고 부하테스트를 진행했는데 여전히 원본 EC2에 CPU 부하가 100% 가까이 갑니다. ELB에 AMI를 대상으로 등록해도 이와 같은 문제가 발생하는 이유가 뭔지 궁금합니다.
현재 의심이 드는건 k6 script.js의 ec2 주소가 모두 원본 EC2주소로 되어있다는 건데 분기문 나눠질 때 각각 원본 EC2, AMI를 적어야하는 걸까요?
+script.js에 로드밸런서의 DNS 주소를 넣으니 해결됐습니다!
[jscode-server]

[jscode-server2]

[ELB설정]

[script.js]

답변 2
0
안녕하세요, 인프런 AI 인턴입니다. Barro님, 질문 주셔서 감사합니다.
AWS EC2 이중화를 통해 부하 분산을 진행했음에도 원본 EC2에 CPU 부하가 높은 상태로 남아 있는 경우 몇 가지 확인해볼 사항을 안내드립니다:
ELB 설정 확인:
- ELB (Elastic Load Balancer)가 두 인스턴스에 균등하게 트래픽을 분산하고 있는지 확인합니다. ELB 설정에서 어떤 규칙에 따라 요청을 인스턴스들에 분배하게 되어 있는지 다시 검토하세요.
- 만약 동일한 인스턴스로의 지나친 트래픽 할당이 있을 경우라면, Health Check 설정을 조정하여 각 인스턴스의 상태를 정확히 반영할 수 있도록 하는 것도 중요합니다.
- ELB (Elastic Load Balancer)가 두 인스턴스에 균등하게 트래픽을 분산하고 있는지 확인합니다. ELB 설정에서 어떤 규칙에 따라 요청을 인스턴스들에 분배하게 되어 있는지 다시 검토하세요.
트래픽 패턴 및 부하 테스트:
- 트래픽 패턴이 특정 인스턴스에 집중되지 않도록 부하 테스트 스크립트가 적절하게 분산되고 있는지 확인하세요. 부하 테스트의 타겟이 올바르게 설정되어 있지 않으면 특정 서버에 트래픽이 편중될 수 있습니다.
- 테스트가 실제 사용자 행동을 반영하고 있는지 검토하세요.
- 트래픽 패턴이 특정 인스턴스에 집중되지 않도록 부하 테스트 스크립트가 적절하게 분산되고 있는지 확인하세요. 부하 테스트의 타겟이 올바르게 설정되어 있지 않으면 특정 서버에 트래픽이 편중될 수 있습니다.
애플리케이션 로직과 리소스 관리:
- 애플리케이션 혹은 서버 내에서 높은 리소스를 소모하는 특정 작업이 발생하고 있는지 확인해보세요. 예를 들면 주기적으로 동작하는 백그라운드 작업 등이 있을 수 있습니다.
- 프로세스의 서비스를 최적화하고, 필요시 스레드 풀과 데이터베이스 커넥션 풀 크기도 신중히 조정할 필요가 있습니다.
- 애플리케이션 혹은 서버 내에서 높은 리소스를 소모하는 특정 작업이 발생하고 있는지 확인해보세요. 예를 들면 주기적으로 동작하는 백그라운드 작업 등이 있을 수 있습니다.
EC2 인스턴스 사양과 오토 스케일링:
- EC2 인스턴스의 사양이 늘어난 부하를 견디기에 충분한지 확인하세요. 필요하다면 오토 스케일링 그룹을 설정하여 트래픽 부담이 증가할 때 인스턴스를 더 자동으로 확장하여 대응할 수 있도록 설정할 수 있습니다.
- EC2 인스턴스의 사양이 늘어난 부하를 견디기에 충분한지 확인하세요. 필요하다면 오토 스케일링 그룹을 설정하여 트래픽 부담이 증가할 때 인스턴스를 더 자동으로 확장하여 대응할 수 있도록 설정할 수 있습니다.
유사한 질문들에 대해서는 다음 링크에서 더 많은 답변을 찾을 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
PDF 자료에서 명령어가 짤린거 같습니
0
51
2
AWS 프리티어에서 RDS 인스턴스 유형을 선택할 수 없음
0
84
2
인프라 구성 중 ELB 관련하여 질문 드립니다.
0
67
2
부하 테스트 환경 구성에 대한 질문
0
132
2
부하 테스트에 대한 문의드립니다
0
114
2
k6 테스트 문의
0
117
2
배포된 서버의 부하테스트 질문 있습니다.
0
130
1
mem_used_percent 지표가 없는 경우가 있을까요?
0
150
2
ec2 수평적 확장에 대하여
0
146
2
TPS 기준
0
539
2
섹션2 - [실습] EC2에 백엔드 서버(Spring Boot) 셋팅하기
0
170
2
성능테스트하기 애매한 API의 경우 진행 방법이 궁금합니다.
0
231
2
개인 프로젝트 시 top 입력 시 해석 도움 요청
0
170
2
sudo nohup java -jar jscode-0.0.1-SNAPSHOT.jar & 설치 오류?
0
184
3
목표 throughput, latency는 어떤 기준으로 정하나요?
0
236
2
aws t3a.small 비용
0
423
2
백엔드 API 설정을 https로 하고 싶은 경우
0
271
2
다양한 API가 있는 경우 효율적으로 테스트하는 방법이 있을까요?
0
143
1
혹시 DB를 RDS로 빼지 않고 EC2안에 설치하게 되면 메트릭을 어떻게 측정할까요?
0
213
2
node, nest 사용자도 쉽게 이해가 가능할까요?
0
234
3
수평적 확장을 통해 병목 지점 해소를 한 이유가 궁금합니다.
0
202
2
request failed 관련하여 질문 드립니다.
0
249
2
RDS 실시간 모니터링 질문
0
155
2
안녕하세요 ㅠㅠ 과금되는게 있어서 질문드립니다.
0
247
2





