Os pedidos repetidos ao Immich tornam-se mais rápidos quando os modelos, as páginas da base de dados, as miniaturas e os recursos do cliente permanecem suficientemente disponíveis para evitar o trabalho de carregamento inicial.
A segunda pesquisa não prova necessariamente que o servidor ganhou capacidade. Pode reutilizar dados preparados pelo primeiro pedido, pelo que os testes significativos devem identificar que estado persiste e apresentar separadamente o comportamento a frio e a quente.
O Primeiro Pedido Paga pelo Estado em Falta
Após um reinício ou um longo período de inatividade, um pedido ao Immich pode precisar de carregar caminhos de código, pesos do modelo, páginas da base de dados e ficheiros de miniaturas para a memória ativa. Também pode desencadear a configuração de ligações e a obtenção de recursos do cliente. Os pedidos posteriores evitam parte desse trabalho, apesar de a consulta visível ser idêntica.
Um relato de um utilizador mede cerca de cinco segundos para uma primeira pesquisa inteligente e aproximadamente meio segundo para uma repetição imediata, enquanto a memória da GPU aumenta à medida que o modelo é carregado. Os valores dependem da configuração, mas a sequência observada demonstra por que motivo as primeiras pesquisas e as pesquisas repetidas representam estados diferentes do sistema.
Registe a condição exata a frio: reinício completo dos contentores, reinício do serviço de aprendizagem automática, estado do cliente limpo ou um intervalo de inatividade definido. Estas condições não são intercambiáveis. Um resultado rotulado apenas como “a frio” não revela se o atraso veio da permanência do modelo na memória, da cache de páginas do servidor, da configuração da ligação ou da reutilização do lado do cliente.
A Disponibilidade de Dados Existe em Várias Camadas Independentes
Não existe uma única opção de cache do Immich que explique todos os pedidos repetidos. O sistema operativo pode manter páginas de ficheiros, o PostgreSQL pode reutilizar dados frequentemente acedidos, o processo de aprendizagem automática pode manter um modelo carregado e os navegadores ou aplicações móveis podem reutilizar miniaturas e recursos da aplicação. Cada camada tem uma duração diferente.
Uma visão geral sobre o aquecimento da cache explica a distinção geral: uma cache quente disponibiliza dados retidos com menos atraso, enquanto uma cache fria tem de os obter de uma fonte primária mais lenta. No Immich, essa fonte primária pode ser o armazenamento persistente, e os “dados” podem ser ficheiros multimédia, páginas da base de dados ou ficheiros do modelo.
Utilize reinícios seletivos. Repita no mesmo navegador e, depois, num cliente novo; reinicie apenas o serviço de aprendizagem automática e, depois, a aplicação; por fim, reinicie o anfitrião. O primeiro reinício que repuser o atraso prolongado identifica a camada cuja retenção de estado mais contribuiu para o resultado, embora várias camadas possam acumular efeitos.
Os Resultados a Quente Podem Ocultar um Limite de Capacidade
Um pequeno conjunto de pesquisas repetidas pode manter exatamente na memória as páginas e miniaturas necessárias. Esse teste pode parecer excelente enquanto uma biblioteca multimédia mais abrangente excede a memória e provoca falhas frequentes de cache. A capacidade é revelada quando o conjunto de trabalho muda, outro serviço expulsa dados ou um reinício remove o estado temporário.
A explicação do caminho de dados do ZimaSpace separa a seleção na base de dados da apresentação de multimédia, evitando que uma miniatura quente mascare uma consulta lenta ou que uma consulta em cache mascare uma entrega lenta de ficheiros. Cronometre separadamente os identificadores dos resultados e os recursos apresentados ao diagnosticar ganhos em pedidos repetidos.
Alterne entre várias consultas e regiões da linha temporal em vez de repetir indefinidamente um único item. Inclua um intervalo de inatividade representativo e uma carga de trabalho concorrente. Um servidor tem capacidade útil quando a latência aceitável persiste em todo o conjunto de trabalho esperado, não apenas quando um caminho frequentemente utilizado permanece residente.
Apresente em Conjunto os Testes a Frio, a Quente e Após Perturbação
Crie um protocolo em três partes. Primeiro, execute o endpoint após uma condição a frio documentada. Em seguida, repita-o imediatamente sem alterar as entradas. Por fim, introduza a perturbação esperada — tempo de inatividade, outro contentor ou um conjunto de consultas mais amplo — e repita. Registe a latência mediana e a cauda lenta, em vez de um único valor medido com cronómetro.
Um tópico de suporte sobre a primeira pesquisa relata um atraso inicial de dez a quinze segundos, seguido de repetições quase instantâneas, reforçando a necessidade de preservar ambas as distribuições. Isto não estabelece uma duração universal para o Immich; a escolha do modelo, o acelerador, a memória, o armazenamento e a versão podem alterar a diferença.
Conclua com dois números e um limite: a latência típica a quente, a latência típica a frio e o evento que elimina a disponibilidade de dados. Se o comportamento a frio não cumprir o objetivo definido para a casa, mantenha o estado necessário residente ou melhore esse caminho de carregamento. Se apenas os testes artificialmente a frio falharem, documente a condição operacional aceite.
Centro de Tecnologia e IA
Mais para Ler

O que é o estado do Immich e que partes têm de persistir?
O estado do Immich inclui os originais, as relações da base de dados, a identidade, a configuração e os derivados; persista cada elemento consoante...

Como gere o Immich a autenticação entre sessões locais e remotas?
O Immich utiliza identidade do lado do servidor com sessões de cliente, enquanto os cabeçalhos do proxy, as origens e os redirecionamentos OIDC podem...

O que faz com que a pesquisa ou os resultados das consultas do Immich fiquem mais lentos à medida que os dados aumentam?
O crescimento do Immich pode aumentar os índices, expulsar páginas quentes, complicar os filtros e atrasar a entrega de multimédia; separe estas fases antes...

