Jellyfin은 사용자의 동작을 먼저 상태 변경으로 처리한 다음 비동기 작업으로 전환하는 경우가 많아, 클라이언트가 응답한 후에도 스캔, 메타데이터 처리 또는 미디어 처리를 계속할 수 있습니다.
홈 서버에서 라이브러리 항목을 열면 재생이 독립적으로 시작되는 동안 데이터베이스 조회, 이미지 가져오기 또는 예약된 새로 고침이 실행될 수 있습니다. 중요한 경계는 해당 동작에 영구 I/O 또는 미디어 변환이 필요한지 여부이며, 이에 따라 어떤 작업이 대기열에 들어가고 서버가 그 비용을 언제 표시하는지가 결정됩니다.
클라이언트 이벤트와 서버 상태 변경을 분리하기
사용자가 클릭하거나 검색하거나 재생을 시작하거나 설정을 변경합니다. 관련 관계는 다음과 같습니다. 클라이언트가 의도를 보내면 Jellyfin이 이를 검증하고 계속 진행하는 데 필요한 최소한의 영구 상태를 기록합니다.
관찰 가능한 효과는 다음과 같습니다. 로그나 작업 기록에 후속 활동이 표시되는 동안 UI는 빠르게 응답할 수 있습니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 캐시 적중
경계는 구체적입니다. 순수한 캐시 조회는 요청에서 끝날 수 있지만, 새 항목 추가, 스캔 또는 재생 변환은 백그라운드 작업으로 이어집니다. 실질적인 의미는 요청 시간과 작업 시작 시간을 별도의 이벤트로 취급해야 한다는 것입니다.
Jellyfin이 클라이언트를 차단하지 않고 작업을 대기열에 넣는 이유 설명하기
상태 변경에는 수초 또는 수분이 걸릴 수 있는 작업이 필요합니다. 관련 관계는 다음과 같습니다. 대기열을 사용하면 Jellyfin이 클라이언트 요청을 계속 유지하지 않고 I/O 및 CPU 작업을 예약할 수 있습니다.
관찰 가능한 효과는 다음과 같습니다. 사용자는 클릭이 완료된 것으로 보지만 작업 진행률, 로그 또는 디스크 활동은 계속됩니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 영구 상태
경계는 구체적입니다. 대기열에 넣는다고 해서 여유 용량이 생기는 것은 아니며, 동시에 실행되는 작업이 너무 많으면 여전히 재생과 자원을 두고 경쟁합니다. 실질적인 의미는 지연된 작업을 반드시 멈춘 요청으로 보지 말고 의도적인 경계로 해석해야 한다는 것입니다.
작업을 CPU, 스토리지 및 네트워크 단계에 매핑하기
대기열에 들어간 작업은 확인할 수 있습니다. 관련 관계는 다음과 같습니다. 메타데이터 작업은 자산을 가져와 기록하고, 스캔은 미디어를 읽어 데이터베이스를 업데이트하며, 트랜스코딩은 디코딩하고 변환한 뒤 세그먼트를 출력합니다.
관찰 가능한 효과는 다음과 같습니다. 작업마다 CPU, 디스크, 네트워크 및 GPU 사용 패턴이 다르게 나타납니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 트랜스코딩 단계
경계는 구체적입니다. 캐시 적중이 미스가 되거나 클라이언트가 재생 모드를 변경하면 작업 경로가 달라질 수 있습니다. 실질적인 의미는 작업 비용을 비교할 때 미디어와 클라이언트 조건을 일정하게 유지해야 한다는 것입니다.
이벤트에서 작업을 예측할 때의 한계 명시하기
이벤트와 일반적인 작업 유형은 알려져 있습니다. 관련 관계는 다음과 같습니다. 캐시 상태, 클라이언트 성능, 작업 우선순위 및 동시 부하에 따라 작업이 생략되거나 지연되거나 확장될지가 결정됩니다.
관찰 가능한 효과는 다음과 같습니다. 라이브러리가 미리 준비되어 있으면 같은 클릭도 비용이 적지만, 경로가 변경되거나 트랜스코딩 클라이언트에서 실행되면 비용이 커집니다. 이것이 명시된 조건에 따라 결과가 달라지는 이유입니다. 고정 작업량 매트릭스
경계는 구체적입니다. 이러한 변수를 일정하게 유지하지 않으면 동작과 작업의 매핑은 고정 비용 모델로서 기능하지 않습니다. 실질적인 의미는 동작 하나에 보편적인 비용을 할당하는 대신 고정된 매트릭스로 실행 결과를 비교해야 한다는 것입니다.
기술 및 AI 허브
더 읽어보기

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

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

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

