Skip to content

태그: 공부

총 2개의 글이 있습니다.
eBPF로 서버 성능 Profiling하는 법: Pyroscope의 구현 살펴보기
공부
eBPF를 사용한 모니터링을 공부하며 Pyroscope의 eBPF 기능에 관심이 생겼다. 구현 코드를 살펴보면서 eBPF를 활용하는 방법과 그에 연관된 Linux 기능을 익힐 수 있었는데, 내용을 되새기기 위해 공부했던 부분을 전체적으로 풀어 설명해보려 한다. 우선 관련된 기술 배경부터 알아보자. Pyroscope Grafana Pyroscope는 애플리케이션을 지속적으로 프로파일링하는 오픈소스 플랫폼이다. 프로파일링(profiling)이란? 프로그램을 실행하면서 성능을 측정하고, 분석하는 행위를 프로파일링이라고 한다. 함수 혹은 메소드가 CPU를 얼마나 오랫동안 사용하는가, 얼마나 많이 호출되는가 메모리를 얼마나 자주 할당 및 해제하는가, 얼마나 많이 할당하느냐 와 같은 정보를 측정한다. 애플리
Spot 인스턴스에서 서버 가용성 개선하기
공부
대덕SW마이스터고 동아리에서 개발한 6개의 교내 서비스(약 250명의 교사와 학생이 사용 중)를 대상으로 서비스 인프라를 통합하는 프로젝트를 진행했습니다. 이 프로젝트에서 Karpenter를 코드를 커스텀하여, Spot 인스턴스 환경의 Replica 1인 Deployment의 가용성을 96% -99.95%로 개선한 과정을 정리한 글입니다. 문제 상황 해당 인프라에선 각 동아리가 새 프로젝트를 개발할 때마다 배포할 수 있어야 했기 때문에, 자주 변동하는 컨테이너, 컴퓨팅 리소스를 쉽게 관리하기 위해 Kubernetes(EKS)를 사용하였다. 초기에 가용성을 크게 고려하지 않고 각 Deployment의 Replica 수를 1로 유지했음에도, 수십개 컨테이너를 실행하기엔 서버비 예산에 압박이 있었다. 따라서 모든