Skip to content

태그: 공부

eBPF로 서버 성능 Profiling하는 법: Pyroscope의 구현 살펴보기
공부
eBPF를 사용한 모니터링을 공부하며 Pyroscopee의 eBPF 기능에 관심이 생겼다. 구현 코드를 살펴보면서 eBPF를 활용하는 방법과 그에 연관된 Linux 기능을 익힐 수 있었는데, 내용을 되새기기 위해 공부했던 부분을 전체적으로 풀어 설명해보려 한다. 우선 관련된 기술 배경부터 알아보자. Pyroscope Grafana Pyroscope는 애플리케이션을 지속적으로 프로파일링하는 오픈소스 플랫폼이다. 프로파일링(profiling)이란? 프로그램을 실행하면서 성능을 측정하고, 분석하는 행위를 프로파일링이라고 한다. 함수 혹은 메소드가 CPU를 얼마나 오랫동안 사용하는가, 얼마나 많이 호출되는가 메모리를 얼마나 자주 할당 및 해제하는가, 얼마나 많이 할당하느냐 와 같은 정보를 측정한다. 애플
데브옵스(네트워크) 스터디 후기
공부
2023년 10월 초에 시작했던 DevOps 스터디가 10주만에 끝이 났다. 3명이라는 적은 인원으로 구성되어있었지만 각 구성원들이 모두 열심히 참여해주어서 스터디 장으로써 뿌듯하고 재밌었다. 진행 방식 첫 5주에는 ‘IT 엔지니어를 위한 네트워크 입문’이라는 책을 함께 읽었다. 데브옵스를 처음 공부하면서 네트워크에 대해 먼저 이해하는 게 정말 중요하다는 걸 느꼈기에 느꼈기에, 네트워크에 관련된 책을 읽자고 먼저 제안했다. 1인당 1장씩 조사해서 발표하는 식으로 진행했다. (A는 제 1장, B는 제 2장, …) 매 스터디 시작마다 1명이 이전 주 내용을 모두 정리하는 발표를 준비해서 내용을 복습하도록 했다. 마지막 5주는 데브옵스에 관련된 개념이나 기술을 자유롭게 준비하여 발표하였다. 좋았던 점 스터디원과
코드 까보기, 오픈소스 기여해보기
공부
2023년 초반 백엔드를 공부하며 스프링, JPA 등 오픈소스 코드를 까보는 데 흥미를 가지기 시작했다. 에러를 고치기 위한 목적으로, 또는 단순 기술에 대한 호기심으로, IDE의 디버깅 기능을 사용해 Springboot, JPA, Netty, Coroutine 등 라이브러리들의 코드를 많이 까봤다. 이 즈음의 TIL에 특정 라이브러리 구현에 대해 분석하는 글을 많이 썼다. @GeneratedValue 코드보기 Detached entity passed to perist netty 메시지 전송 흐름 Coroutine Delay 등등… 근데… 보다보니 너무 잘 짜여있어서 내가 이런 코드에 기여할 수 있는 부분이 있을지 의문이 들었다. 오픈소스에 기여해보는 게 좋은 경험이라는 얘기는 많이 들었지만 너무나도
Downtime 없는 Spot Instance 클러스터 구축 과정
공부
Xquare 인프라 가용성 높은 spot instance 클러스터를 구축한 경험에 대해 이야기하기 전에 해당 인프라를 구축했던 Xquare 인프라 프로젝트에 대해 먼저 설명해보겠다. Xquare 인프라란 대덕소프트웨어마이스터고에 있는 여러 동아리의 프로젝트를 한 인프라에서 통합하여 관리하기 위한 프로젝트이다. PaaS 형태의 통합 인프라를 통해 학생들이 서버 성능이나 관리, 비용 부담 없이 프로젝트를 배포하고 사용할 수 있도록 하는 것이 목적이다. 각 동아리가 신청 폼으로 액세스 키를 발급받으면, 제공되는 배포 파이프라인을 통해 Xquare 인프라에 프로젝트를 마음껏 올릴 수 있다. 프로젝트 진행 시에 서버 관리나 비용에 대해 신경 쓸 필요 없이 빠르게 배포할 수 있게 된다. 현재 5개 동아리에서 개발하는