/
https://42jerrykim.github.io/ _index.md
NVMe/SSD 내부 구조와 쓰기 증폭의 원인을 정리하고, blk-mq 스케줄러(none·mq-deadline·kyber·bfq) 선택 기준과 NVMe 2.1 FDP(TP4146b)로 쓰기 증폭을 낮추는 최신 접근을 다룹니다. select·poll·epoll(Linux)·kqueue(BSD/macOS) 이벤트 통지 메커니즘의 내부 동작을 비교합니다. O(n) 전체 스캔에서 O(1) 이벤트 큐로 진화한 배경, level/edge-triggered 차이, thundering herd 함정을 코드와 벤치마크로 정리합니다. ext4·XFS·ZFS가 할당 전략·저널링·CoW로 만들어내는 성능 차이와, ext4 6.13+ 단일 블록 원자적 쓰기·XFS FORCEALIGN 기반 atomic writes가 torn write 문제를 해결하는 방식, 파일시스템 선택 기준을 다룹니다. 연결 풀링과 Keep-Alive가 TCP 3-way handshake·TLS 협상·slow start 비용을 줄이는 원리를 설명하고, 풀 크기·타임아웃·헬스체크 설계 기준과 DNS 정체·자원 고갈 같은 실무 함정을 정리합니다. gRPC 성능 튜닝을 채널·서브채널 재사용, 스트리밍 모드 선택 기준, 직렬화·압축 오버헤드 관리 관점에서 다룹니다. HTTP/2 동시 스트림 제한과 채널 풀링, 최신 연결 스케일링 제안까지 실무 판단 기준을 정리합니다. HTTP/2 멀티플렉싱과 스트림 우선순위(RFC 9218)의 진화, HTTP/3가 QUIC 위에서 헤드오브라인 블로킹을 줄이는 원리와 실측 성능 편차, 2026-03 Baseline에 도달한 WebTransport의 채택 준비 상태를 다룹니다. QUIC이 스트림을 전송 계층에 내장해 헤드 오브 라인 블로킹을 해소하는 원리, 0-RTT 연결 재개의 이점과 재생 공격 위험, UDP 기반 전송을 선택한 설계 이유와 연결 마이그레이션을 판단 기준·벤치마크와 함께 심화 수준으로 다룹니다. RDMA가 CPU 개입 없이 원격 메모리에 접근하는 원리와 Queue Pair 구조, One-sided·Two-sided 연산 차이, libibverbs API 사용법, InfiniBand·RoCEv2·iWARP 전송 방식 비교, ib_write_bw 벤치마크와 도입 판단 기준을 정리합니다. Nagle 알고리즘과 Delayed ACK가 상호작용해 생기는 지연 정체 현상의 원인을 분석하고, Reno·CUBIC·BBRv3 혼잡 제어 알고리즘의 동작 원리와 실무 선택 기준을 IETF 표준화 진행 현황과 함께 정리합니다. TLS 핸드셰이크 구조, 세션 재개와 0-RTT의 재전송 위험, ML-KEM 기반 PQC 하이브리드 키교환이 지연·패킷 크기에 미치는 영향을 다룹니다. 언제 0-RTT를 켜고 PQC를 언제 기본값으로 둘지 판단 기준을 정리합니다.