N
NHN
September 14, 20252회
Kubernetes CPU Limit을 사용하면 벌어지는 일

간단 소개
Kubernetes CPU limit 설정 시 스로틀링 발생 원인과 영향, requests/limits 설정의 중요성, 실제 테스트 결과 분석.
AI Summary
- Kubernetes CPU Resource 설정
- CPU Requests: 컨테이너 실행에 필요한 최소 CPU 양, 스케줄링에 사용되며 CPU 경합 시 요청량 보장.
- CPU Limits: 컨테이너가 사용할 수 있는 최대 CPU 양, 초과 시 스로틀링 발생.
- QoS 클래스: requests와 limits 설정에 따라 Guaranteed, Burstable, BestEffort로 분류.
- 리눅스 커널의 CPU 관리 메커니즘
- cgroup: 시스템 리소스 사용량 제한, 추적, 격리. CPU 서브시스템을 통해 CPU requests와 limits 구현.
- CFS: 리눅스 커널 기본 스케줄러, 가상 런타임(vruntime)을 사용하여 공정성 보장.
- Requests와 cpu.shares: requests 값은 cpu.shares로 변환, CPU 경합 시 상대적 가중치로 작용.
- Limits와 cpu.cfs_period_us & cpu.cfs_quota_us: limits 값은 CFS 대역폭 제어를 통해 절대적 시간 할당량 제한.
- Limits 적용 시 발생 가능한 현상
- CPU 스로틀링: 컨테이너가 할당된 CPU 시간을 모두 소진했을 때 발생, 지연 시간 증가 유발.
- 잘못된 '시끄러운 이웃' 문제 해결: limits보다 requests 설정이 중요하며, 적절한 requests 설정 시 CFS 스케줄러가 CPU 시간을 분배.
- 테스트 결과: CPU limits를 낮게 설정 시 작업 완료 시간이 크게 증가, 스로틀링 비율 증가 확인.
Next Feeds

29CM 주문서 결제 혜택 UX 개편기:그래서 얼마에 살 수 있는 거에요?
29CM 주문서 결제 혜택 UX 개선을 통해 고객 경험을 향상시키고 구매 전환율을 높인 사례를 소개합니다.
UX 개선구매 전환율즉시 할인결제 혜택프론트엔드 개발
2025. 9. 14.
무신사

하나의 프론트엔드 코드로 멀티 환경 운영하기
모두싸인은 AST, Eslint Plugin을 활용하여 프론트엔드 코드의 멀티 환경 운영을 효율적으로 개선했습니다.
ASTEslint Plugin프론트엔드멀티 환경코드 관리
2025. 9. 12.
모두싸인

코드 품질 개선 기법 20편: 이례적인 예외 과대 포장
예외 처리 시 예외를 감싸는 대신 addSuppressed를 사용하고, 예외 우선순위를 신중히 결정하여 예외 처리의 정확성을 높여야 합니다.
예외 처리addSuppressed코드 품질KotlinJava
2025. 9. 12.
LY Corp

AI Agent 개발 경진대회
교보DTS에서 AI Agent 개발 경진대회를 개최하여 임직원의 AI 역량 강화 및 아이디어 실현 기회를 제공합니다.
AI Agent개발 경진대회교보DTSAI 활용아이디어
2025. 9. 12.
교보dts

JuiceFS: 오브젝트 스토리지를 활용하는 HDFS 호환 분산 파일 시스템
JuiceFS는 오브젝트 스토리지를 활용하여 HDFS의 한계를 극복하고 Hadoop 환경에서 유연한 데이터 관리를 가능하게 하는 분산 파일 시스템이다.
JuiceFSHDFS오브젝트 스토리지Hadoop분산 파일 시스템
2025. 9. 11.
Naver d2

백엔드 개발자의 시선으로 풀어본 LLM 내부 동작 원리: 6단계로 쉽게 이해하기
LLM의 내부 동작 원리를 6단계로 나누어 설명하고, LLM을 효과적으로 활용하기 위한 팁을 제공합니다.
LLM토큰화임베딩트랜스포머어텐션
2025. 9. 11.
카카오페이