MariaDB Expand-Contract 마이그레이션 — 무중단 컬럼 변경을 단계별로 검증하기
도입 컬럼을 한 번에 바꾸면 이전 애플리케이션과 새 애플리케이션이 동시에 동작하는 배포 구간에서 한쪽이 실패할 수 있다. Expand-Contract는 호환 가능한 구조를 먼저 추가하고 사용 전환이 끝난 뒤 오...
디스크 검색 결과: 10개
도입 컬럼을 한 번에 바꾸면 이전 애플리케이션과 새 애플리케이션이 동시에 동작하는 배포 구간에서 한쪽이 실패할 수 있다. Expand-Contract는 호환 가능한 구조를 먼저 추가하고 사용 전환이 끝난 뒤 오...
리눅스에서 파일 디스크립터(File Descriptor, FD)는 “열려 있는 파일을 식별하는 번호”다. 여기서 말하는 파일은 실제 파일뿐 아니라 소켓, 파이프, 장치까지 포함한다. 즉 리눅스에서는 모든 I/...
리눅스에서 메모리는 단순히 “사용량”만 보는 것이 아니라 구조를 이해해야 한다. 프로세스 메모리와 시스템 메모리 구조를 함께 봐야 성능 문제를 정확히 판단할 수 있다. 특히 메모리 부족, OOM, swap 발...
AWS Well-Architected Framework의 여섯 원칙을 정의하는 것만으로 시스템은 바뀌지 않는다. 목적은 현재 구성의 위험과 의사결정 근거를 찾아 우선순위가 있는 개선 작업으로 만드는 것이다. 이 글은...
트래픽이 증가한다고 Redis, 로드 밸런서, 복제 DB와 큐를 한꺼번에 추가하면 운영 지점만 늘어날 수 있다. 확장은 현재 병목과 실패 조건을 측정한 뒤 가장 작은 변화부터 적용해야 한다. 1. 먼저 서비스 ...
서버 CPU 사용률이 높다는 것은 단순히 “바쁘다”는 의미가 아니다. 정상 트래픽인지, 비정상 반복 연산인지, 특정 프로세스 폭주인지 구분해야 한다. 무작정 서버 스펙을 올리는 것은 해결이 아니다. CPU가 왜 올...
운영 중 서버가 다운되면 가장 중요한 것은 “빨리 고치는 것”이 아니라 “순서대로 확인하는 것”이다. 무작정 재부팅부터 하면 원인 분석이 불가능해지고, 동일 장애가 반복된다. 복구 프로세스는 감각이 아니라 절...
웹 서비스의 업로드 파일을 EC2 디스크에 저장하면 구현은 간단하다. 하지만 인스턴스를 교체하거나 여러 대로 늘리는 순간 각 서버가 서로 다른 파일을 갖게 된다. 이 글은 S3의 기능을 나열하기보다 언제 로컬 디스크...
이 글은 서비스 장애·안정성과 관련된 네 가지 주제 — 장애 대응 체크리스트, 포스트모템 작성 방법, 온콜(On-call) 경험 정리, 데이터베이스 장애 시나리오 — 를 개발자·운영자 관점에서 정리한 메모이다. ...
서버 운영 중 자주 발생하는 오류와 그에 대한 처리 방법, 그리고 사전 방지 방안을 정리한 내용이다. 디스크, 메모리, 프로세스, 네트워크, 로그 관련 항목을 중심으로 서술한다. 1. 디스크 풀 (Disk Fu...