Jellyfin은 일반적으로 디스크 I/O가 연속적으로 기록되지 않고 백그라운드 작업이 대기열에 들어간 후 단계적으로 처리되며 일괄적으로 플러시되기 때문에 간헐적으로 급증하는 패턴을 보입니다.
홈 서버에서는 라이브러리 스캔 중에 많은 파일을 읽고, 데이터베이스를 업데이트하고, 아트워크를 가져온 다음 스토리지에 체크포인트를 기록할 수 있습니다. 여기에 별도의 트랜스코딩 작업이 또 다른 급증을 더할 수 있습니다. 큐 지연, 재생 기한 초과 또는 부족한 여유 공간이 스토리지 경로 자체가 제약 요소임을 보여줄 때는 급증의 형태만이 아니라 그 패턴이 중요합니다.
작업 단계로서 급증하는 I/O 관찰
스캔이나 재생 중에는 디스크 사용률이 급격히 상승했다가 하락하고 다시 반복됩니다. 관련된 관계는 예약된 작업과 재생 세그먼트가 읽기, 쓰기, 메타데이터 커밋을 개별적인 배치로 만든다는 것입니다.
관찰되는 효과는 장치 그래프에 짧은 고대기열 구간이 나타나고 그 사이에 비교적 조용한 공백이 생긴다는 것입니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 큐 지연
경계는 분명합니다. 정상적으로 완료되고 지연 시간이 낮은 급증은 정상적인 현상이며, 대기열이 반복적으로 증가하거나 시간 초과가 발생하는 것은 정상적이지 않습니다. 실질적인 의미는 스토리지 설정을 변경하기 전에 이벤트 타이밍을 확인하라는 것입니다.
사용자 동작을 대기열 작업으로 추적
급증에는 반복적으로 나타나는 타임스탬프나 트리거가 있습니다. 관련된 관계는 장치에 접근하기 전에 하나의 요청이 라이브러리 조회, 이미지 생성, 데이터베이스 쓰기 또는 세그먼트 준비 작업을 대기열에 넣을 수 있다는 것입니다.
관찰되는 효과는 캐시 미스, 스캔 또는 트랜스코딩 경로가 선택된 경우에만 동일한 동작이 급증을 일으킨다는 것입니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 장치 타이밍
경계는 분명합니다. 직접 재생은 대부분의 쓰기를 피할 수 있지만, 원격 트랜스코딩이나 새 메타데이터 항목으로 인해 쓰기가 다시 발생할 수 있습니다. 실질적인 의미는 트레이스를 비교할 때 클라이언트와 미디어를 동일하게 유지하라는 것입니다.
데이터베이스, 메타데이터 및 임시 쓰기 연결
작업 유형은 알고 있지만 디스크 그래프에는 여러 개의 피크가 나타납니다. 관련된 관계는 SQLite 체크포인트, 메타데이터 다운로드 및 임시 세그먼트 쓰기가 서로 다른 블록 크기와 플러시 타이밍을 가진다는 것입니다.
관찰되는 효과는 데이터베이스 커밋 주변에 작은 동기식 쓰기가 집중되고, 임시 출력에서는 더 큰 순차 쓰기가 나타난다는 것입니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 데이터베이스 체크포인트
경계는 분명합니다. 빠른 데이터베이스로는 느린 미디어 마운트나 가득 찬 임시 볼륨 문제를 해결할 수 없습니다. 실질적인 의미는 전체 처리량만이 아니라 경로별 읽기 지연 시간과 여유 공간 지표를 확인하라는 것입니다.
간헐적으로 급증하는 I/O가 유해해지는 시점 명시
급증의 원인과 경로가 파악되었습니다. 관련된 관계는 서비스 시간이 재생 또는 작업 기한을 초과하면 포화가 발생하고, 그 결과 대기열이 다음 단계까지 지속된다는 것입니다.
관찰되는 효과는 재생 버퍼링이 발생하거나, 예약된 작업이 초과 실행되거나, 장치에서 증가하는 대기 시간과 오류가 보고되는 것입니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 스토리지 지연 시간의 경계
경계는 분명합니다. 지연 시간이 제한된 범위에 머물고 다음 트리거가 발생하기 전에 작업이 완료된다면 급증은 제한 요소가 아닙니다. 실질적인 의미는 하드웨어를 교체하기 전에 큐 지연 시간, 작업 소요 시간 및 여유 공간을 측정하라는 것입니다.
기술 및 AI 허브
더 읽어보기

홈 서버에 더 많은 서비스를 추가하면 Home Assistant 아키텍처가 변경되는 이유
공유 상태, 대기열, 디바이스, 업데이트 주기 또는 장애 도메인이 추가되면 서비스가 단순히 컨테이너를 늘리는 것이 아니라 Home Assistant 아키텍처를 변경합니다.

캐시를 용량으로 착각하지 않고 Home Assistant 성능을 측정하는 방법
따뜻한 상태의 결과는 용량이 아니라 재사용을 입증합니다. 콜드 스타트, 따뜻한 상태의 정상 처리량, 반복 부하, 테일 지연 시간, 그리고 가장 먼저 포화되는 리소스를 측정하세요.

집 전체 제어에 Home Assistant에는 어느 정도의 자동화 동시성이 필요할까요?
대부분의 집 전체 자동화에는 제한된 중첩만 필요합니다. 실행 시간 × 트리거 빈도로 동시 실행 수를 산정한 다음, 다운스트림에서 안전하게 처리할 수 있는 용량으로 상한을...

