Como reduzir a contenção da base de dados do Plex num host Docker ocupado

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

Reduza a contenção da base de dados do Plex protegendo a E/S dos dados da aplicação contra escritas concorrentes e mantendo a base de dados como estado privado do Plex, em vez de a disponibilizar como um serviço partilhado.

A navegação no Plex ou o trabalho com a biblioteca ficam mais lentos quando outro contentor inicia uma cópia de segurança, indexação, transferência ou tarefa de base de dados? Meça a latência do disco dos dados da aplicação durante a sobreposição antes de alterar os componentes internos do Plex. O Plex utiliza os seus próprios ficheiros de base de dados dentro do diretório de dados do servidor; num anfitrião Docker, a medida prática costuma ser o isolamento do armazenamento, o agendamento das cargas de trabalho e a estabilidade do espaço livre, não o aumento de um conjunto de ligações à base de dados.

Confirme que a lentidão acompanha a E/S dos dados da aplicação

As operações da biblioteca do Plex dependem da base de dados local e do caminho dos metadados, pelo que um serviço vizinho com muitas escritas pode tornar a aplicação lenta, mesmo quando o CPU e a rede estão disponíveis. A primeira questão é saber se o sintoma acompanha a latência do disco no dispositivo que contém os dados da aplicação.

Sem limites de recursos explícitos para o contentor, um serviço vizinho pode consumir CPU, memória ou E/S de armazenamento durante o mesmo período de pico e alterar o comportamento do Plex; esta é a situação de referência a estabelecer para a contenção da base de dados do Plex.

Se o Plex voltar a responder assim que a carga de trabalho concorrente de escrita parar, e os mesmos conteúdos forem normalmente reproduzidos através de Direct Play, as evidências apontam para contenção do armazenamento partilhado, e não para um problema do cliente ou do transcodificador.

Separe o caminho da base de dados das escritas em massa

Coloque os dados da aplicação Plex num caminho persistente e de baixa latência e identifique que outros contentores partilham esse dispositivo. Repita a carga de trabalho sobreposta enquanto observa o tempo de espera ou a latência do disco, e não apenas o débito total.

Ao medir a contenção da base de dados do Plex, o Plex mantém o estado da biblioteca frequentemente acedido numa base de dados SQLite, pelo que a latência e a integridade da base de dados devem ser avaliadas separadamente do débito de conteúdos multimédia em massa.

Mantenha a base de dados do Plex privada para a instância do Plex. Não a disponibilize como um serviço de base de dados para outros contentores nem execute várias instâncias do Plex sobre os mesmos ficheiros de base de dados ativos.

Ajuste o anfitrião antes de tentar intervir diretamente na base de dados

Se a base de dados estiver saudável, comece por alterações ao armazenamento e ao agendamento. A otimização da base de dados pode ajudar, em alguns casos, a corrigir um estado do servidor fragmentado, mas não resolve um dispositivo saturado por escritas não relacionadas.

Mantenha espaço livre no volume dos dados da aplicação e evite sistemas de ficheiros de rede para o estado ativo da base de dados quando houver armazenamento local fiável disponível. Uma partilha rápida em termos sequenciais pode ainda apresentar uma latência e um comportamento perante desligamentos inadequados para o estado da aplicação.

Volte a testar a mesma sobreposição após a alteração e reinicie o contentor do Plex uma vez. A correção é bem-sucedida quando a navegação, as análises e as atualizações de estado permanecem estáveis enquanto a carga de trabalho vizinha é executada ao nível esperado.

-15% OFF

Separe as cargas de trabalho quando a contenção continuar a repetir-se

Pare de ajustar as definições do Plex quando o mesmo dispositivo físico de armazenamento não conseguir suportar ambas as cargas de trabalho em simultâneo. Continuar a otimizar a aplicação não criará capacidade de E/S que a camada de armazenamento não possui.

Uma pilha multimédia com aceleração por hardware é mais fácil de avaliar quando as funções de computação, dados da aplicação, armazenamento multimédia e rede estão documentadas separadamente.

Mova a aplicação em conflito, os dados da aplicação Plex ou a carga de trabalho com muitas escritas para um dispositivo separado quando a contenção persistir de forma repetível. Recorra à reparação da base de dados apenas quando existirem indícios de problemas de integridade ou corrupção, e não simplesmente porque o servidor está lento.

  1. Meça a latência do disco dos dados da aplicação durante a carga de trabalho conflitante
  2. Separe ou agende os contentores com muitas escritas
  3. Mantenha a base de dados do Plex privada para uma única instância de servidor ativa
  4. Volte a testar após reiniciar o contentor

Suporte e Dicas

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.