Lentidão e erro de tempo limite 500 ao abrir deliveries ou templates do delivery
Este artigo discute o problema em que as instâncias locais que usam o Oracle como banco de dados encontram lentidão e um erro de Tempo limite 500 ao abrir deliveries ou templates do delivery.
Descrição description
Ambiente
Adobe Campaign Classic v7 (ACC v7) com conexão Oracle DB
Problema
Para instâncias locais que usam o Oracle como banco de dados, abrir deliveries ou templates de delivery é lento e resulta em 500 erros de Tempo limite.
Etapas a serem reproduzidas:
- Conecte-se ao Console do Adobe Campaign em uma instância local que usa o Oracle como um banco de dados.
- Abra um delivery ou um template de delivery. O console congela e, após alguns minutos, um erro de Tempo limite 500 é exibido.
- Confirme com o DBA do Oracle que, enquanto reproduz a lentidão, há uma consulta longa na tabela
NmsDelivery. - Isso pode ser notado também com logs do Verbose e do TraceFilter habilitados no processo da Web. Consulte Log Precisionna documentação do Campaign Classic v7 para habilitá-lo.
OBSERVAÇÃO: os logs de Detalhado e TraceFilter devem ser habilitados somente em instâncias de Desenvolvimento/Preparo e não em Produção.
Resolução resolution
Para resolver o problema, siga estas etapas:
- Altere manualmente o formulário
nms:deliverysubstituindo:@linkedDelivery-id,linkedDelivery/*,
com@linkedDelivery-id,linkedDelivery/@id, - Salve o formulário.
- Desconecte e reconecte o Console do Adobe Campaign para ver a diferença.
Nota:
- A consulta ainda existirá, mas não carregará todas as colunas.
- A solução acima deve ser confirmada primeiro no desenvolvimento e preparo antes de ser aplicada à produção.
- A engenharia fornecerá essa melhoria em uma correção futura.
Causa
O problema de lentidão é causado por uma consulta grande que o Adobe Campaign executa no servidor de banco de dados do Oracle.
O produto gera a consulta e carrega dados em excesso porque há um curinga em linkedDelivery/* no formulário nms:delivery.