El uso de WP All Import, el Importador de WordPress, y plugins similares para importar archivos XML, CSV, y WXR e imágenes es una tarea común para los desarrolladores y sitios con contenido que cambia frecuentemente. Sin embargo, también es común que haya tiempos de inactividad (timeouts) y problemas con el desempeño del sitio mientras se están procesando estas importaciones.

En este articulo, discutiremos los pasos que puede tomar para superar estos procesos de importación difíciles.

Por favor tenga en cuenta que no podemos garantizar que cada proceso de importación funcione de forma correcta en nuestra plataforma. Si la importación no funciona de forma adecuada en Kinsta, le recomendamos llevar a cabo la importación en un entorno de staging local e importar la base de datos actualizada o la tabla de la base de datos de su sitio web.

¿Por Qué las Importaciones Causan Timeouts y Problemas de Desempeño?

Hay dos tipos de Timeouts que los grandes procesos de importación, típicamente se encuentran:

  • Los timeouts de PHP ocurren si un solo proceso de PHP funciona por más tiempo que el tiempo de ejecución o tiempo de input máximo establecido en la configuración de PHP. Cuando esto sucede, aparecerá un error 502.
  • Los timeouts de HTTP ocurren cuando la conexión entre su navegador y el servidor de la red se mantienen abiertos por mucho tiempo. Cuando esto sucede, parecerá un error 504.

Es común que el desempeño de un sitio web sea más lento cuando una gran importación está sucediendo. Esto es porque PHP y MySQL están ocupados lidiando con procesos de importación. Esto causa que el tráfico regular al sitio tenga que esperar hasta que PHP y MySQL estén disponibles para generar la página solicitada.

Lidiando con Timeouts de PHP

Si se encuentra con timeouts de PHP el tiempo de ejecución o tiempo de input máximo establecido puede que necesiten ser elevados. En nuestra plataforma, estos valores están establecidos a 300 segundos (5 minutos) por defecto. Los valores máximos disponibles de timeout de PHP en nuestra plataforma están basados en su plan de hosting actual.

  • Plan Starter y Pro: 300 segundos es el valor más alto que podemos soportar.
  • Plan de Business: Podemos elevar de forma temporal el timeout hasta 600 segundos (10 minutos).
  • El plan Enterprise: Podemos elevar el valor a 600 segundos (10 minutos) de forma permanente o temporalmente a 1800 segundos (30 minutos).

Un incremento temporal de la duración del timeout sería apropiado si usted necesita que ese período sea elevado hasta 4 horas para poder completar un proceso único de importación. Si usted cree que necesitará un valor más elevado o cree que lo necesitará seguido, deberá conseguir un plan empresarial.

No permitimos que los timeouts sean establecidos por un periodo mayor a los 600 segundos en ningún plan o de forma permanente. Nuestra experiencia ha sido que los sitios que requieren duraciones más largas de timeouts de forma permanente, experimentarán problemas de estabilidad significativos durante estos largos procesos. En lugar de sacrificar la estabilidad del sitio web, si usted tiene procesos recurrentes que requieren mayor duración de timeout, la mejor solución es trabajar con el desarrollador para ajustar los largos procesos, en lugar de seguir incrementando la duración del timeout.

Si desea pedir un incremento temporal o permanente de timeout de PHP, por favor abra un ticket de soporte.

Lidiando con Timeouts de HTTP

Los timeouts de HTTP ocurren después de 60 segundos para sitios alojados en Kinsta. Debido al diseño de nuestra infraestructura, no podemos incrementar la duración del timeout de HTTP.

Si usted experimenta un timeout de HTTP, hay dos medidas que debería tomar para resolver el problema:

  • Si el proceso se termina mientras el archivo de importación se estaba subiendo, cambie a una conexión de internet más rápida e intente de nuevo.
  • Si tiene un plan con acceso SSH (Business 1 en adelante) y está usando una herramienta con soporte para WP-CLI, como el plugin de importación de WordPress, usted puede importarlo de forma directa en el servidor y saltarse la conexión HTTP completamente.

Por favor tome en cuenta que activar una importación vía SSH es un cambio al contenido de su sitio web, esto no forma parte de las tareas realizadas por nuestro equipo de soporte. Para poder correr una importación a través de SSH, usted necesitará un plan de Business 1 o superior. Si usted no está familiarizado con SSH, tendrá que aprender a usar esta poderosa herramienta o trabajar con un desarrollador para procesar la importación vía SSH.

Lidiando con los Problemas de Desempeño del Sitio Web

Si el proceso de importación está funcionando exitosamente, pero su sitio web está desempeñándose pobremente durante el proceso, tiene dos opciones:

  • Planear la actividad de proceso para que suceda durante un tiempo de tráfico bajo para minimizar el impacto que tendrán sus visitantes al entrar en el sitio.
  • Actualizar el plan con más PHP workers. Si los problemas de desempeño están sucediendo debido a que PHP no ha podido manejar más peticiones, mejorar temporalmente a un plan con más PHP workers podría significar que PHP tiene más capacidad para lidiar con tráfico al sitio y con la importación.

Hacer un upgrade del plan para obtener acceso a más PHP workers no ayudará en todos los casos. Si su sitio web, funciona lentamente porque la base de datos (MySQL) está ocupada insertando contenido a la base de datos, añadir PHP workers adicionales no acelerará el desempeño de su sitio web.

Obteniendo Ayuda

Si usó todas las sugerencias de este articulo y todavía se encuentra con problemas, y preferiría recibir apoyo, entonces el siguiente paso sería ponerse en contacto con nuestro equipo de soporte. Sin embargo, antes de iniciar una conversación con nuestro equipo, por favor consiga lo máximo posible de información acerca de su sitio.

  • Empiece la importación y mida cuánto tiempo toma para que los procesos empiecen a fallar. SI el proceso falla después de 1 minuto, es posible que se esté encontrando con timeouts de HTTP. Si falla después de 5 minutos, es probable que sea un timeout de PHP. Si falla en algún otro punto, es probable que se esté encontrando con otro límite o error, y quizás no sea un timeout.
  • Cheque los registros de errores en el momento que la importación falló, y revise si un error fue registrado en el momento de la falla.
  • Tome una foto del mensaje de error o página de error que está observando.
  • Escriba una descripción concisa del tipo de archivo que está intentando importar, cómo el archivo fue creado, qué contiene, las herramientas usadas para crear el archivo y para hacer la importación, y el error que está experimentando.

Una vez que haya recolectado toda esta información, abra un ticket de soporte. Sin embargo, por favor tenga en cuenta de que no podremos garantizarle que somos capaces de asegurar que todas sus importaciones corran de forma exitosa.

Próximos Pasos – Flujo de Trabajo del Desarrollo Local

Si no es posible correr la importación en el entorno de Kinsta, el siguiente paso sería desarrollar un nuevo flujo de trabajo para el proceso de importación donde la importación es ejecutada en un entorno de desarrollo local. Por favor tenga en cuenta, de que un desarrollador necesitará estar involucrado en este proceso, para asegurar que ningún dato se pierda y que la base de datos de su sitio no esté dañada.

En general, el proceso sería, preparar una copia de su sitio en un entorno de desarrollo local, donde usted tenga el control de los límites de timeouts. Luego complete la importación en ese entorno local. Una vez que la importación este completa, exporte una copia de la base de datos o las tablas de la base de datos actualizadas de su entorno local. Luego cree un backup de su sitio web en línea, quite la base de datos (o tablas afectadas) de su sitio web en línea, e importe la base de datos o tablas exportadas desde su entorno local.

29
Shares