el proceso de implementación de la aplicación gcloud preview tarda ~8 minutos, ¿es esto normal?


Probando el nuevo tiempo de ejecución flexible de app engine. En este caso, un tiempo de ejecución de Ruby on Rails personalizado basado en el tiempo de ejecución de ruby proporcionado por Google.

Cuando se dispara gcloud preview app deploy todo el proceso toma ~8 minutos, la mayoría de los cuales es "servicio de actualización". ¿Esto es normal? Y lo más importante, ¿cómo puedo acelerarlo?

Saludos,

Ward

Author: Vikram Tiwari, 2016-06-07

5 answers

Sí, eso es totalmente normal. La mayoría de los pasos de implementación ocurren fuera de su computadora y son independientes del tamaño de su base de código, por lo que no hay mucho que pueda hacer para acelerar el proceso.

Varios pasos que están involucrados en la implementación de una aplicación en App Engine se pueden clasificar de la siguiente manera:

  1. Reunir información de la aplicación.yaml para entender el despliegue general
  2. Recopila el código y usa la imagen de docker especificada en app.yaml para construir una imagen de docker con su código
  3. Aprovisionar instancias de cómputo, reglas de red/firewall, instalar herramientas relacionadas con docker en la instancia, enviar imagen de docker a la instancia e iniciarla
  4. Asegúrese de que todas las implementaciones fueron exitosas, inicie las comprobaciones de estado y, si es necesario, transfiera/equilibre la carga.

El único proceso que toma la mayor parte del tiempo es la última parte donde hace todas las comprobaciones necesarias para asegurarse de que la implementación fue exitosa y comenzar a ingerir tráfico. Dependiendo del tamaño del código (carga de código para crear contenedor) y requisitos de recursos (aprovisionamiento de recursos personalizados), los pasos 2 y 3 pueden tardar un poco más de tiempo.

Si hace un análisis, encontrará que aproximadamente el 70% del tiempo se consume en el último paso, donde tenemos menos visibilidad, sin embargo, el proceso esencial que le da a app-engine la capacidad de hacer todo el trabajo pesado.

 26
Author: Vikram Tiwari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-08 02:20:12

La implementación en la misma versión me permitió pasar de 6 minutos a 3 minutos en implementaciones posteriores.

Ejemplo:

$ gcloud app deploy app.yaml --version=test
 12
Author: Eyal Levin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-19 11:07:55

Asegúrese de comprobar lo que está en el zip que está cargando (le indica la ubicación de esto en la implementación), y asegúrese de que su yaml skip_files esté configurado para incluir cosas como su .git directory si tienes uno, y node_modules

 1
Author: Tonester,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-06 15:20:14

Tenga en cuenta que los despliegues posteriores deben ser mucho más rápidos que 8 minutos. Por lo general, es de 1 minuto o menos en mis pruebas con Nodo.js en App Engine Flex.

 -1
Author: Mete Atamel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-08 13:11:16

Simplemente dispara este comando desde el directorio raíz de la aplicación.yaml

Desde el directorio de visitas de shell de la aplicación.yaml luego ejecuta gcloud app deploy

Se cargará en pocos segundos.

 -2
Author: Murtaza Ashraf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-15 08:01:27