Incident Library
적용된 필터 원인소프트웨어 결함증상지연 시간 증가조직Cybozu모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

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

사례1건

1건 중 1~1번째

  1. 증상

    SQLite 데이터베이스가 놓인 파일 시스템의 크기를 늘린 뒤 데이터베이스 접근이 한동안 느려졌다. 이 현상은 고객이 쓰는 애플리케이션의 응답 속도 저하로 나타났고, Cybozu 는 오랫동안 이 문제를 겪었다.

    촉발

    데이터베이스가 커져 빈 공간이 모자라자 파일 시스템이 놓인 블록 디바이스의 크기를 늘리고 그 위의 파일 시스템 크기를 늘렸다.

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

    파일 시스템 확장 뒤 데이터베이스 접근이 느려진 것이 고객이 쓰는 애플리케이션의 응답 속도 저하로 드러났다.

    조치
    • 블록 디바이스 크기가 줄어들 때만 flush_disk() 를 부르고 늘어날 때는 페이지 캐시를 무효화하지 않도록 fs/block_dev.c 의 check_disk_size_change() 를 고치는 패치를 만들었다.
    • 이 패치를 넣은 커널을 개발 환경에서 시험한 뒤 운영 환경에 적용해 사내 문제를 풀었다.
    후속 조치
    • 자사 시스템을 받치는 OSS 의 개선에 기여하고 나중에 OS 를 올릴 때 수정 패치를 일일이 백포트하지 않으려고, 패치를 upstream Linux 커널에 넣는 작업을 했다. 패치는 v4.17 에 들어갔다.
    교훈

    Cybozu 는 소스 수정의 수고가 바뀐 줄 수에 비례하지 않는다고 했다. 이번 수정은 2천만 줄에 이르는 Linux 커널 소스에서 4줄을 더하고 2줄을 지운 것에 지나지 않았지만, 거기까지 여러 시행착오가 있었다. 코드를 쓴 의도를 모를 때는 주석이나 변경 때의 커밋 설명을 보는 것이 정석이라고도 했다.

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

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

원인별1