Incident Library
적용된 필터 원인용량 한계구성 요소데이터베이스증상간헐적 타임아웃모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

  • 원인
  • 구성 요소
  • 증상
  • 기여 요인
  • 사례

사례6건

6건 중 1~5번째

  1. 증상

    9월 27일 22:58 UTC 에 쿼리 큐 깊이 알림이 울렸다. Azure West Europe 리전 고객의 쿼리가 느려지고 타임아웃됐다. 쓰기는 계속 받았지만 일부 파티션에서는 새 데이터를 바로 조회할 수 없었다.

    원인
    구성 요소
    기여 요인
    감지

    9월 27일 22:58 UTC 에 쿼리 큐 깊이 알림이 울려 장애 대응이 시작됐다.

    조치
    • 쿼리 계층 용량을 두 배로 늘렸다.
    • 9월 28일 아침에 멈춘 스토리지 파드를 하나씩 재시작했다.
    • 9월 29일 08:58 UTC 에 readiness 검사 타임아웃을 올려 전체에 배포했다.
    • 재시작 뒤 복구 동시성을 두 배로 늘렸다.
    • 9월 30일 00:25 UTC 에 정리 타임아웃을 24시간으로 올려 안전장치가 일으키던 강제 재시작을 멈췄다.
    • 스토리지 파드마다 자원 요청을 올려 호스트에 올라가는 파드 수를 줄였고, 파드마다 페이지 캐시용 메모리와 디스크 처리량이 두 배가 됐다.
    후속 조치
    • 페이지 폴트 비율, 캐시 커버리지, 스토리지 볼륨의 디스크 읽기, 쿼리 중단 비율에 경고 알림을 더했다. 알림은 캐시 압박이 고객에게 보이기 전에 울리도록 만들었다.
    • 런북에 major page fault 를 스토리지 성능 저하의 선행 지표로 적고, 조정할 수 있는 완화 설정을 자세히 적었다.
    • 스토리지 엔진의 참조 누수를 계속 추적한다.
    • 디스크 검사를 상태 검사 경로에서 뺀다.
    교훈

    캐시가 모자란 상태는 메모리 지표에 드러나지 않았다. 스토리지 프로세스가 메모리를 적게 쓰고 나머지를 페이지 캐시가 차지하기 때문이다. InfluxData 는 major page fault 를 스토리지 성능 저하의 선행 지표로 본다. InfluxData 는 스토리지 엔진의 참조 누수와 상태 검사 경로의 디스크 검사가 이런 장애를 일으키는 위험 요인은 아니며, 진단과 복구 중에 눈에 띄어 조사할 만한 현상이라고 밝혔다.

  2. 증상

    2025년 8월 7일 21시 4분 UTC부터 Storj US1 satellite 에서 데이터베이스 트랜잭션 잠금이 늘었다. 21시 14분에 당번 팀이 호출을 받았고, 21시 25분에 상태 페이지가 US1 의 업로드와 다운로드 실패를 조사 중이라고 알렸다.

    촉발

    같은 객체들을 겨냥한 동시 업로드가 유난히 많이 몰렸다.

    원인
    구성 요소
    기여 요인
    –
    감지

    21시 14분에 당번 팀이 호출을 받고 조사를 시작했다.

    조치
    • 커넥션 상태를 주기적으로 초기화해 경합 관련 오류가 연쇄로 불어나지 않게 했다.
    후속 조치
    • 데이터베이스 트랜잭션 사이의 경합 원인을 찾아 코드를 고쳐 없앴다.
    • 데이터베이스 잠금이 늘어나는 것을 찾아 팀에 알리는 모니터링과 알림을 더했다.
    • 사고 분석으로 절차와 시스템에서 더 고칠 점을 찾았다. 수동 유지 보수를 줄이거나 없애는 도구를 만드는 일이 그중 하나다.
  3. 증상

    2024년 8월 6일 10:32 UTC 부터 Wasabi 전 리전에서 S3 와 사용자 서비스에 오류가 났다. 상태 페이지에는 10:56 UTC 에 Web Console 로그인 문제와 Wasabi 리전의 오류를 조사한다는 글이 올라왔다.

    촉발

    2024년 8월 6일 10:32 UTC 에 큐 서비스가 가득 찬 상태가 됐다.

    원인
    구성 요소
    기여 요인
    –
    조치
    • 운영팀이 데이터베이스에 남은 오래된 연결을 정리하려고 주 데이터베이스를 재시작했고, 동시에 큐 서비스의 큐를 비웠다. 이 조치로는 데이터베이스가 완전히 돌아오지 않았다.
    • 보조 데이터베이스 인스턴스를 주 인스턴스로 승격했고, 11:20 UTC 에 S3 서비스가 다시 정상이 됐다.
    • 8월 6일 13:17 UTC 부터 13:23 UTC 까지 큐 서비스 라이브러리를 데이터베이스에 완전히 반영하려고 데이터베이스를 한 번 더 재시작했다.
    • 8월 7일 두 번째 사건에서 원래의 주 데이터베이스를 다시 운영에 올려 사용자 서비스의 타임아웃을 풀었다.
    • 8월 7일 세 번째 사건에서 자동화 서비스가 보지 못하던 자동화 클러스터를 다시 만들어 배포했고, S3 서비스가 완전히 돌아왔다.
  4. 증상

    2024년 2월 22일 07:22 UTC 부터 Bitbucket Cloud 의 웹사이트와 API 가 느려졌다. 커넥션 풀이 포화되고 응답 시간이 늘었으며, 완전히 타임아웃 나는 요청이 점점 늘었다.

    원인
    구성 요소
    기여 요인
    조치
    • Bitbucket Pipelines 에 리소스를 더 넣어 쌓인 잡을 처리했고, 17:30 UTC 에 백로그가 모두 처리됐다.
    후속 조치
    • 쓰기가 많은 데이터베이스 테이블의 vacuum 임계값을 다시 설정한다.
    • 이런 동작을 더 일찍 잡아 영향을 줄이도록 알림 임계값을 조정한다.
    • Pipelines 서비스의 오토스케일링과 로드 셰딩 동작을 조정하고 빌드 러너 용량을 늘린다.
  5. 증상

    인프라를 Google Cloud 로 모두 옮긴 뒤 Postgres 연결 타임아웃이 평소보다 많이 나서 인시던트를 선언했다. 초당 새로 여는 연결 수가 수백 개 수준에서 크게 오르내렸다.

    촉발

    노드에서 짧게 열고 닫는 TCP 연결이 대량으로 생겼다. 연결 풀이 초당 수백 개씩 새 연결을 열었고, 실수로 들어간 데이터베이스 join 때문에 외부 제3자 서비스로 가는 중복 호출 수천 번이 한꺼번에 나갔다.

    원인
    구성 요소
    기여 요인
    감지

    Postgres 연결 타임아웃이 평소보다 많이 나는 것을 보고 인시던트를 선언했다.

    조치
    • Postgres 연결의 최대 수명을 15m 에서 30m 로 두 배 늘렸다.
    • 연결 풀을 늘 N개의 연결을 열어 두는 고정 크기로 바꿨다.
    • memcache 클라이언트의 MaxIdleConns 를 2 에서 20 으로 올렸다.
    • 변수를 줄이려고 Google 이 운영하는 memcached 대신 쿠버네티스 클러스터 안에서 직접 돌리는 memcached 로 옮겼다. 이 전환으로는 거의 달라지지 않았다.
    • 실수로 들어간 데이터베이스 join 때문에 외부 제3자 서비스로 중복 호출을 수천 번 보내던 문제의 수정을 운영에 배포했다. 그 뒤 데이터베이스 연결 문제와 캐시 문제가 거의 사라졌다.
    후속 조치
    • 외부로 나가는 네트워크 호출에 더 알맞은 동시성 한도를 둔다. 공급자의 rate limit 안에 있어도 노드에 영향을 줄 수 있기 때문이다.
    교훈

    가설을 너무 빨리 좁히지 않는다. 이런 네트워크 타임아웃을 보면 같은 파드만이 아니라 같은 노드에서 도는 모든 것을 포함해 시스템 전체의 활동을 봐야 한다. 오류와 그 영향은 대개 요청 하나에 머물지만 늘 그렇지는 않다. 외부로 나가는 네트워크 호출의 동시성도 제한해야 한다. 이전에는 공급자의 rate limit 이 주된 제약이었지만, rate limit 안에 있어도 노드에 영향을 줄 수 있다.

내 클러스터에도 있는지 확인하기

이 6건에서 가장 많이 나오는 구성 요소: 데이터베이스, 인메모리 캐시. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.

원인별1