[OS] TPS는 왜 수렴하지 않았을까
·
CS/OS
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다.시스(CS 스터디)에서 발표한 내용을 정리한 글입니다. 💭 들어가며본 글은 시스(CS 스터디)에서 발표한 내용을 정리한 자료로, 발표용 흐름에 맞추어 순차적으로 구성되어 있다. 개념에 대한 보다 정확한 이해가 필요하다면, 시스 유튜브에 업로드된 영상 자료를 함께 참고 바란다. ✅ 문제 상황부하 테스트를 진행했는데, TPS가 수렴하지 않는다.TPS(Transaction Per Second)는 초당 처리 완료된 트랜잭션 수를 의미한다. 이론적으로 TPS는 요청 수가 증가함에 따라 증가하다가, 시스템의 처리 한계(Saturation Point)에 도달하면 특정 값으로 수렴해야 한다.TPS 그래프🔽 실제 부하 테스트 결과요청 수 300 -> ..
[Network] Namespace란 무엇일까
·
CS/Network
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다.시스(CS 스터디)에서 발표한 내용을 정리한 글입니다. 💭 들어가며본 글은 시스(CS 스터디)에서 발표한 내용을 정리한 자료로, 발표용 흐름에 맞추어 순차적으로 구성되어 있다. 개념에 대한 보다 정확한 이해가 필요하다면, 시스 유튜브에 업로드된 영상 자료를 함께 참고 바란다. ✅ 문제 상황최근 Kubernetes 관련 자격증을 준비하며 전반적인 개념은 비교적 잘 이해하고 있다고 생각했지만, Network 파트에서 완전히 막혀버렸다. Switch, Router, Host, DNS 등의 개념은 알고 있었으나, 이들이 실제로 어떻게 할당되고 통신하는지에 대해서는 깊이 이해하지 못하고 있었다. 또한, Host 내부에서 벌어지는 네트워크 구조에 ..
[JVM] Metaspace란 무엇일까
·
Backend/JVM
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다.시스(CS 스터디)에서 발표한 내용을 정리한 글입니다. 💭 들어가며본 글은 시스(CS 스터디)에서 발표한 내용을 정리한 자료로, 발표용 흐름에 맞추어 순차적으로 구성되어 있다. 개념에 대한 보다 정확한 이해가 필요하다면, 시스 유튜브에 업로드된 영상 자료를 함께 참고 바란다. ✅ 문제 상황JVM 상태를 관찰하던 중, Old 영역 사용량이 높지 않음에도 불구하고 Full GC가 간헐적으로 발생하는 현상을 확인했다. 원인을 파악하며 Heap 영역보다 Metaspace 영역의 사용량이 비정상적으로 크다는 점을 발견했다.Old 영역도 여유가 있는데, 왜 Full GC가 발생하는 걸까? ✅ 사전 지식▶ JVM 메모리 구조JVM 메모리는 크게 다..
[OS] Context Switching이 비효율적인 이유
·
CS/OS
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다.시스(CS 스터디)에서 발표한 내용을 정리한 글입니다. 💭 들어가며본 글은 시스(CS 스터디)에서 발표한 내용을 정리한 자료로, 발표용 흐름에 맞추어 순차적으로 구성되어 있다. 개념에 대한 보다 정확한 이해가 필요하다면, 시스 유튜브에 업로드된 영상 자료를 함께 참고 바란다. ✅ 문제 상황festabook의 개발자는 모두 백수이다. 우리는 서버 비용이 부담스러웠다. 따라서 의사결정 과정에서 scale down을 하고자 했는데, 단순히 사양을 낮추는 데서 끝내기보다는 동일하거나 더 낮은 사양에서도 성능 대비 가성비를 최대한 끌어올릴 수 있는 방법이 없을지 고민하게 되었다.우리는 서버 전 계층 튜닝을 시도했고, HikariCP, JDBC,..
[Database] 복합 인덱스에서 컬럼 순서는 어떻게 결정해야 할까
·
Backend/Database
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다. 시스(CS 스터디)에서 발표한 내용을 정리한 글입니다. 💭 들어가며본 글은 시스(CS 스터디)에서 발표한 내용을 정리한 자료로, 발표용 흐름에 맞추어 순차적으로 구성되어 있다. 개념에 대한 보다 정확한 이해가 필요하다면, 시스 유튜브에 업로드된 영상 자료를 함께 참고 바란다.글 중간에 ❓로 표시된 부분은 흐름상 자연스럽게 떠오른 의문을 의미하며, 하단 또는 확장하기 파트에서 다룬다. ✅ 문제 상황festabook에서는 성능 개선을 위해 복합 인덱스를 적용한 튜닝 사례가 있다. 이 과정에서 단순히 복합 인덱스가 필요하다는 판단을 넘어서, 컬럼의 순서가 실제 실행 계획과 성능에 어떤 영향을 미치는지에 대한 의문이 생겼다.이에 따라, 복합 ..
[Log&Monitoring] Grafana Observability 구축 (4) - Mimir, Object Storage 백업
·
DevOps/Log&Monitoring
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다. 💭 들어가며이전 글들을 통해 Grafana Observability 스택 구축을 마무리했다. 본 글에서는 Grafana 대시보드 구성과 Observability 데이터(메트릭, 로그, 트레이스) 백업을 위한 설정을 정리한다.Metric, Log, Trace 아키텍처Alloy 기반 수집 파이프라인Grafana 대시보드Mimir, Object Storage 백업Alert 파이프라인 ✅ 백업 대상백업 대상은 크게 두 가지다.Grafana 대시보드JSON 형태로 저장되며 용량이 작음Observability 데이터Prometheus 메트릭 데이터TSDB 블록 단위로 저장되어 데이터 용량이 큼Object Storage를 활용한 장기 보관 백업 필..
[Log&Monitoring] Grafana Observability 구축 (3) - Grafana 대시보드
·
DevOps/Log&Monitoring
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다. 💭 들어가며지난 글까지 Spring Server와 Grafana Server 구축을 완료했으며, 본 글에서는 Grafana GUI를 기반으로 대시보드를 구성하고 주요 쿼리 문법을 간단히 살펴본다. 본 문서는 전반적인 구축 방법을 기록하는 데 목적이 있어 간단한 예시 위주로 설명하며, 실제 운영 환경과는 일부 차이가 있을 수 있다.Metric, Log, Trace 아키텍처Alloy 기반 수집 파이프라인Grafana 대시보드Mimir, Object Storage 백업Alert 파이프라인 ✅ 대시보드대시보드는 운영 과정에서 개발자가 반복적으로 확인하는 핵심 쿼리들을 시각적으로 묶어둔 화면이다. Explore 탭에서 직접 쿼리를 실행해도 되지..
[Log&Monitoring] Grafana Observability 구축 (2) - Alloy 기반 수집 파이프라인
·
DevOps/Log&Monitoring
팀 프로젝트 festabook에서 학습한 내용을 정리한 글입니다. 💭 들어가며지난 글에 이어, 본 글에서는 Alloy 기반 수집 파이프라인을 설계하고 구축한 과정을 정리한다. 또한 Alloy는 서버 노드 단위로 설정되는 구성 요소이기 때문에, 실제 운영 환경에서 함께 사용되는 Node Exporter 설정까지 함께 다룬다.Metric, Log, Trace 아키텍처Alloy 기반 수집 파이프라인Grafana 대시보드Mimir, Object Storage 백업Alert 파이프라인 ✅ 전체 아키텍처Grafana 공식 문서에 따르면 Promtail은 Deprecated 상태이며, 로그 수집 에이전트로는 Grafana Alloy 사용이 권장된다. 이에 따라 본 구성에서는 Alloy를 중심으로 Grafana O..
soeun2537
Hello, 소은!