Hye Jin Ryoo

[GitHub Actions 운영] Day 2: Matrix·Cache·Artifact - 빠르고 재현 가능한 CI

서론: 오늘의 문제 병렬 실행과 캐시는 CI를 빠르게 만들지만 조합 폭발과 오래된 의존성 문제를 만들 수 있다. 테스트 범위, cache key, artifact 수명을 재현성 중심으로 설계한다. 1. Matrix의 목적 지원 런타임과 운영체제 조합을 명시하되 모든 축을 곱하지 않는다. 대표 조합과 위험 조합을 선택하고 experimental 항...

[GitHub Actions 운영] Day 1: Workflow 기본기 - 이벤트에서 Job까지 경계 세우기

서론: 오늘의 문제 CI가 커질수록 YAML 줄 수보다 이벤트, 권한, job 의존성의 경계가 중요해진다. 어떤 변경이 어떤 검증을 실행하는지 예측 가능한 workflow 구조를 만든다. 1. 이벤트를 좁게 선택 push와 pull_request를 습관적으로 모두 켜면 같은 커밋을 중복 검증할 수 있다. branch와 path 필터를 사용하되 필...

[Linux 성능 분석] Day 5: 네트워크와 종합 진단 - 패킷 손실에서 원인까지

서론: 오늘의 문제 네트워크 문제는 연결 실패, 지연, 처리량 저하로 다르게 나타난다. 소켓, TCP, 인터페이스와 애플리케이션 timeout을 한 타임라인에 놓고 안전한 사건 대응 절차를 완성한다. 1. 연결과 대기열 listen backlog와 accept queue가 넘치면 새 연결이 지연되거나 실패한다. 연결 수뿐 아니라 SYN 상태, a...

[Linux 성능 분석] Day 4: 스토리지 I/O - 처리량과 지연을 분리하기

서론: 오늘의 문제 디스크 사용률 하나로는 순차 처리량 부족과 작은 랜덤 I/O, fsync 지연을 구분할 수 없다. 요청 크기, 큐, 파일시스템과 장치 계층을 따라 병목을 좁힌다. 1. IOPS와 Throughput 작은 랜덤 요청은 IOPS 한계에 먼저 닿고 큰 순차 요청은 대역폭을 소모한다. workload의 평균 요청 크기와 read/wr...