Nginx & Caddy 완전 정복 4편 — Nginx 심화: 캐싱, Rate Limit, 보안, 성능 튜닝, L4 프록시
proxy_cache, limit_req/limit_conn, add_header 상속 함정과 보안 헤더, 워커·커널 튜닝, 구조화 로그, stream 모듈을 이용한 TCP 프록시와 트러블슈팅을 다룹니다.
blog92@web:~$ grep -rl "#Performance" posts/
이 태그가 달린 글
proxy_cache, limit_req/limit_conn, add_header 상속 함정과 보안 헤더, 워커·커널 튜닝, 구조화 로그, stream 모듈을 이용한 TCP 프록시와 트러블슈팅을 다룹니다.
느린 클라이언트 몇 개가 서버 메모리를 고갈시키는 slow consumer 문제를 bufferedAmount 임계값으로 방어하는 코드와, 메시지를 버릴지 최신값으로 덮어쓸지 연결을 끊을지 데이터 성격에 따라 정하는 정책, 그리고 반대 방향의 rate limit을 다룹니다.
트랜잭션이 하나의 연결 위에서만 성립하는 이유와 격리 수준, 커넥션 풀이 고갈되는 장애 시나리오와 사이징 기준, 그리고 EXPLAIN ANALYZE와 N+1과 OFFSET 페이지네이션까지 실무에서 터지는 지점들을 본다.
느린 CI는 결국 무시당합니다. 어디서 시간이 새는지 측정하고 캐시의 원리, job 병렬화, 매트릭스 빌드, concurrency 동시성 제어, 실행 자체를 건너뛰는 기법까지 적용합니다.
RTT로 계산하는 새 연결의 최소 비용, HTTP 클라이언트와 DB 커넥션 풀의 재사용, 바깥이 안쪽보다 길어야 하는 타임아웃 정렬, 백오프와 지터, 서킷 브레이커와 격벽, 프론트엔드 최적화까지.
렌더를 일으키는 원인 세 가지, 렌더가 전파되는 규칙, 전파가 멈추는 두 조건. 최적화 API를 꺼내기 전에 알아야 할 React의 비용 구조를 정리한다.
CSV 내보내기 하나가 무관한 엔드포인트의 p99까지 올리는 이유. CPU가 이벤트 루프를 붙잡는 네 가지 통로, 동시성 없는 async, 스트림과 백프레셔.
React.memo 도배와 성능 방치는 같은 병이다. 실제 병목의 순서, Core Web Vitals가 잡아내는 안티패턴, 레이아웃 스래싱과 컴포지팅, 그리고 무엇을 어떤 도구로 측정할지.