콘텐츠로 이동

운영 모범 사례

프로덕션에서 Xisom 박스를 건강하게 유지하기 위한 현장 검증 가이드입니다. 각 섹션은 전체 세부 정보가 담긴 참조 페이지로 연결됩니다. 자리표시자로 표시된 섹션은 현장 데이터로 마무리 중입니다 — 확정된 수치가 아니라 방향으로 받아들이세요.

flowchart LR
  P["준비<br/>modelctl"] --> D["배포<br/>업로드 + 플로우 생성 + 활성화"]
  D --> M["모니터링<br/>지연 시간 · 처리량 · EP"]
  M -->|"드리프트 / 신규 데이터"| P
  M -->|"버전 업"| D
  • 박스의 ONNX Runtime 버전 기준으로 검증한 뒤 배포하세요 — --target-ort를 고정하여 너무 최신인 opset이 현장이 아니라 워크스테이션에서 실패하도록 합니다.
  • 양자화는 신중하게. 동적 INT8은 모델을 더 작고 대개 더 빠르게 만들지만 정확도가 다소 떨어집니다 — 양자화된 모델을 재검증하고 예측 품질을 확인한 뒤 적용하세요.
  • 재현 가능한 번들을 고정(--timestamp)하여 박스의 아티팩트가 검토한 것과 일치하도록 합니다. 모델 준비를 참조하세요.
  • 윈도우 크기 × 피처 수를 일치시키세요 — 플랫폼은 플로우를 만들 때와 활성화할 때 형상을 검사하고, 맞지 않으면 거부합니다. 모든 모델에 대해 이 두 값을 기록하세요.
  • 서버가 지원하는 경우 폴링보다 OPC-UA 구독을 우선하세요.
  • 라이브 플랜트 소스에 연결하기 전에 CSV 리플레이로 기록된 데이터에 대해 모델을 검증하세요. 입력 데이터소스를 참조하세요.
  • 평균이 아니라 p95/p99 지연 시간을 관찰하세요 — 엣지 추론은 꼬리 지연에서 먼저 저하됩니다.
  • 실행 공급자가 CPU로 폴백되는 것은 회귀 신호입니다 — CUDA(CPU는 폴백)로 실행되어야 할 박스가 CPU를 보고하면 처리량이 떨어지기 전에 조사하세요.
  • 라이브 메트릭은 1일간 보관됩니다 — 장기 추세가 필요하면 내보내세요. 모니터링을 참조하세요.
  • 업데이트할 때마다 릴리스 버전을 확인하세요 — 설정 → 정보에 박스에 설치된 릴리스가 표시됩니다. 버전 및 업데이트를 참조하세요.
  • 프로덕션 박스로 승격하기 전에 Docker 랩에서 스테이징하세요. Docker 랩을 참조하세요.

데이터베이스는 오래된 행을 일정에 따라 삭제하지만, 이전 릴리스에서 생성된 데이터베이스는 확보된 공간을 디스크에 반환하지 않고 그대로 보유합니다. 이런 박스에서는 compact-db.sh를 한 번 실행하고, 스토리지 상태 카드의 데이터베이스 행이 계속 크게 유지될 때 다시 실행하세요.

  • 짧은 유지 관리 시간을 계획하세요. 스크립트는 전체 스택을 중지하고, 작업이 끝나면 다시 시작합니다.
  • 먼저 데이터베이스를 측정합니다. 데이터베이스가 이미 스스로 공간을 반환하고 얻을 것이 거의 없으면 아무것도 변경하지 않고 종료합니다.
  • 그렇지 않으면 확인을 요청하고, 압축하기 전에 데이터베이스 스냅샷을 만듭니다.

절차는 디스크가 가득 참 / 데이터베이스가 무한정 증가함을 참조하세요.

  • 최소 권한을 적용하세요 — 필요한 작업(출력 테스트 쓰기, 키 관리)에만 관리자 계정을 사용하고, 운영자는 운영자로 로그인합니다.
  • 감사 추적을 주기적으로 검토하세요 — 누가 언제 시스템에 접근했는지 기록됩니다.
  • 대시보드와 API 앞단의 리버스 프록시에서 TLS를 종료하고, 데이터소스에는 인증된 브로커 / 보안 OPC-UA 정책을 사용하세요. 보안을 참조하세요.