Utilizar o WP All Import, do WordPress Importer, e alguns plugins semelhantes para importar arquivos XML, arquivos CSV, arquivos WXR e imagens é uma tarefa comum para desenvolvedores e sites cujo conteúdo é alterado frequentemente. Contudo, também é comum que ocorram timeouts e problemas de desempenho do site enquanto essas importações estão sendo processadas. 

Iremos nesse artigo discutiremos os passos que pode seguir para gerenciar um complicado processo de importação.

Saiba que não podemos garantir que todos os processos de importação são executados com sucesso na nossa plataforma. Se a importação não puder ser feita na Kinsta, recomendamos executar a importação em um ambiente de desenvolvimento local e depois disso, importar a base de dados ou a tabela atualizada para a base de dados do site. 

Por Que as Importações Provocam Tempos de Espera e Problemas de Desempenho?

Existem dois tipos de timeouts nos quais grandes processos de importação são habitualmente executados: 

  • Os timeouts PHP ocorrem se um único processo PHP for executado por mais tempo do que o max_execution_time ou max_input_time definidos na configuração do PHP. Quando isso acontece, um erro do servidor 502 é normalmente exibido. 
  • Os timeouts HTTP ocorrem quando a conexão entre o navegador e o servidor web é mantida aberta durante muito tempo. Quando isso acontece, geralmente é mostrado um erro gateway timeout 504 .

É comum que o desempenho do website fique também mais lento quando uma grande importação está sendo executada. Isso ocorre porque o PHP e o MySQL estão ocupados com o processo de importação. Isso faz com que o tráfego normal do site tenha que esperar até que o PHP e o MySQL fiquem disponíveis para gerar a página solicitada. 

Lidando com os Timeouts PHP

Se encontrar um timeout PHP, o max_execution_time e o max_input_time podem precisar de ser aumentados. Na nossa plataforma, esses valores estão definidos para 300 segundos (5 minutos) por padrão. Os valores máximos de timeout do PHP disponíveis na nossa plataforma têm por base seu plano de hospedagem atual. 

  • Planos Starter e Pro: 300 segundos é o valor mais alto que podemos suportar. 
  • Planos Business: podemos aumentar temporariamente o timeout para 600 segundos (10 minutos). 
  • Planos Enteprise: Podemos aumentar o valor para 600 segundos (10 minutos) permanentemente ou temporariamente para 1800 segundos (30 minutos).

Um aumento temporário na duração do timeout seria a melhor opção se você precisasse de uma duração de timeout maior durante menos de 4 horas para concluir um processo de importação. Se precisar que o timeout seja maior durante por um período mais longo ou de forma recorrente, será necessário atualizar para um plano Enterprise. 

Não permitimos que os timeouts sejam definidos para mais de 600 segundos em qualquer plano de forma permanente. Nossa experiência nos diz que os sites que exigem períodos mais longos para os timeouts de forma constante terão problemas de estabilidade significativos durante esses processos de longa duração. Em vez de sacrificar a estabilidade do site, caso você tenha processos recorrentes que exigem timeouts maiores, a melhor solução é trabalhar com um desenvolvedor para ajustar o longo processo de execução em vez de continuar aumentando a duração do timeout. 

Se quiser pedir um aumento temporário ou permanente nas configurações de timeout do PHP, abra um ticket de suporte. 

Lidando com os Timeouts HTTP

Os timeouts HTTP normalmente ocorrem após 60 segundos para sites hospedados na Kinsta. Devido ao design da nossa infraestrutura, não podemos aumentar a duração do timeout HTTP. 

Se tiver um timeout HTTP, existem dois passos para tentar solucionar o problema: 

  • Se o processo estiver quase expirando enquanto o arquivo de importação está sendo carregado, altere para uma conexão de internet mais rápida e tente novamente o processo. 
  • Se estiver usando uma ferramenta com suporte para WP-CLI, como o plugin WordPress Importer, poderá executar a importação diretamente no servidor e ignorar por completo a conexão HTTP.

Saiba que a execução de uma importação através do SSH é uma alteração no conteúdo do seu website e ela não está no não está incluída naquilo que a nossa equipe de suporte pode fazer por você. Além disso, se você não estiver familiarizado com o SSH, terá de aprender a usar essa forte ferramenta ou trabalhar com um desenvolvedor para processar a importação através do SSH. 

Lutando com tempo de inatividade e problemas no WordPress? Kinsta é a solução de hospedagem projetada para economizar seu tempo! Confira nossos recursos

Lidando Com Problemas de Desempenho do Site

Se o processo de importação estiver sendo corretamente executado, mas se o seu site tiver um desempenho insatisfatório durante o processo, existem duas opções: 

  • Agendar a atividade de importação para um período de tráfego reduzido a fim de minimizar o impacto nos visitantes do seu site. 
  • Fazer o upgrade para um plano com mais PHP Workers no seu site ao vivo. Se os problemas de desempenho forem provocados ​​pelo fato de o PHP não estar disponível para gerenciar mais solicitações, fazer um upgrade temporário para um plano com mais PHP Workers, isso significará que o PHP ganha uma maior capacidade de gerenciar o tráfego para o site e a importação. 
  • Fazer um upgrade ao plano não será uma ajuda se você estiver tentando executar uma importação em um site de teste. Nosso ambiente de teste tem um número permanente de PHP Workers e não será afetado por upgrades ao plano.

Fazer um upgrade aos planos para obter acesso a mais operadores PHP não será útil para todos os casos. Se o seu site está lento porque a base de dados (MySQL) está ocupada inserindo conteúdo na base de dados, então é improvável que adicionar mais operadores PHP acelere o desempenho do seu site. 

Obtendo Ajuda

Se já fez as sugestões anteriores desse artigo, se ainda está tendo problemas e gostaria de obter ajuda, o próximo passo seria entrar em contato com nossa equipe de suporte. Contudo, antes de iniciar uma conversa com nossa equipe de suporte, reúna o máximo de informações possível. 

    • Inicie a importação e contabilize o tempo necessário para o processo falhar. Se o processo falhar após 1 minuto, provavelmente o problema é um timeout HTTP. Se falhar após 5 minutos, será provavelmente um timeout PHP. Se falhar em algum outro ponto, provavelmente existirá outro limite ou erro, não sendo por isso um timeout. 
    • Verifique os registros de erros no momento em que a importação falhou e veja se um erro foi registrado no momento dessa falha. 
    • Faça uma captura de tela da mensagem de erro ou página de erro que você está encontrando. 
    • Escreva uma descrição resumida do tipo de arquivo que você está tentando importar, a forma como o arquivo foi criado, o que ele contém, as ferramentas usadas para criar o arquivo e para executar a importação e o erro que está ocorrendo. 

Após reunir essas informações, abra um ticket com a equipe de suporte da Kinsta. Porém, saiba que não podemos garantir o sucesso todas as importações. 

Próximos Passos – Fluxo de Trabalho no Desenvolvimento Local

Se a importação no ambiente Kinsta não for possível, o próximo passo é desenvolver um novo fluxo de trabalho para o processo de importação, no qual a importação é executada em um ambiente de desenvolvimento local. Note que um será necessário desenvolvedor para esse processo, a fim de garantir que nenhum dado é perdido e que a base de dados do seu site não é danificada. 

De uma forma geral, o processo passaria por configurar uma cópia do seu site em um ambiente de desenvolvimento local, no qual pode controlar todos os limites de timeout. Depois, conclua a importação nesse ambiente local. Quando a importação estiver concluída, exporte uma cópia do base de dados ou as tabelas de base de dados atualizadas do seu ambiente local. Depois crie um backup o seu site ao vivo, elimine a base de dados (ou tabelas afetadas) de seu site ao vivo e importe a base de dados ou tabelas exportadas do seu ambiente local.

16
Shares