En este documento de Framework de la arquitectura de Google Cloud, se proporcionan recomendaciones para ayudarte a optimizar el rendimiento de las APIs y los recursos de red en Google Cloud.
Niveles de servicio de red
Los niveles de servicio de red te permiten optimizar el costo de red y el rendimiento de las cargas de trabajo. Puedes elegir entre los siguientes niveles:
- El nivel Premium usa la red troncal global de alta confiabilidad de Google para ayudarte a lograr una pérdida de paquetes y una latencia mínima. El tráfico entra y sale de la red de Google en un punto de presencia (PoP) perimetral y global que está cerca de tu usuario final. Recomendamos usar el nivel Premium como nivel predeterminado para obtener un rendimiento óptimo. El nivel Premium admite direcciones IP externas regionales y globales para las VMs y los balanceadores de cargas.
- El nivel Estándar solo está disponible para los recursos que usan direcciones IP externas regionales. El tráfico ingresa y sale de la red de Google en un PoP perimetral más cercano a la ubicación de Google Cloud en la que se ejecuta tu carga de trabajo. Los precios del nivel Estándar son más bajos que el nivel Premium. El nivel Estándar es adecuado para el tráfico que no es sensible a la pérdida de paquetes y que no tiene requisitos de latencia baja.
Puedes ver la latencia de red para el nivel Estándar y el nivel Premium de cada región de la nube en el panel de rendimiento de Network Intelligence Center.
Marcos jumbo
Las redes de nube privada virtual (VPC) tienen una unidad de transmisión máxima (MTU) predeterminada de 1,460 bytes. Sin embargo, puedes configurar las redes de VPC para
que admitan una MTU de hasta 8896
(marcos jumbo).
Con una MTU más alta, la red necesita menos paquetes para enviar la misma cantidad de datos, lo que reduce el ancho de banda que usan los encabezados TCP/IP. Esto da como resultado un ancho de banda efectivo más alto para la red.
Para obtener más información sobre la MTU dentro de la VPC y la MTU máxima de otras conexiones, consulta la página Unidad de transmisión máxima en la documentación de VPC.
Rendimiento de la VM
Las VMs de Compute Engine tienen un ancho de banda de salida máximo que, en parte, depende del tipo de máquina. Un aspecto de elegir un tipo de máquina adecuado es considerar cuánto tráfico esperas que genere la VM.
La página Ancho de banda de red contiene una discusión y una tabla de anchos de banda de red para los tipos de máquina de Compute Engine.
Si los requisitos de ancho de banda entre VM son muy altos, considera usar VMs que admitan redes de nivel 1.
Cloud Load Balancing
En esta sección, se proporcionan prácticas recomendadas para ayudarte a optimizar el rendimiento de las instancias de Cloud Load Balancing.
Implementa aplicaciones cerca de tus usuarios
Aprovisiona los backends de la aplicación cerca de la ubicación en la que esperas que el tráfico de usuarios llegue al balanceador de cargas. Cuanto más cerca estén tus usuarios o aplicaciones cliente de tus servidores de carga de trabajo, menor será la latencia de red entre los usuarios y la carga de trabajo. Para minimizar la latencia en los clientes en diferentes partes del mundo, es posible que debas implementar los backends en varias regiones. Si deseas obtener más información, consulta Prácticas recomendadas para la selección de regiones de Compute Engine.
Elige un tipo de balanceador de cargas adecuad
El tipo de balanceador de cargas que elijas para tu aplicación puede determinar la latencia que experimentan los usuarios. Si deseas obtener información para medir y optimizar la latencia de la aplicación para diferentes tipos de balanceadores de cargas, consulta Optimiza la latencia de las aplicaciones con el balanceo de cargas.
Habilita el almacenamiento en caché
Para acelerar la entrega de contenido, habilita el almacenamiento en caché y Cloud CDN como parte de la configuración predeterminada del balanceador de cargas de HTTP externo. Asegúrate de que los servidores de backend estén configurados para enviar los encabezados de respuesta necesarios para que las respuestas estáticas se almacenen en caché.
Usa HTTP cuando no sea necesario usar HTTPS
Google encripta el tráfico entre los balanceadores de cargas de proxy y backends automáticamente a nivel de paquete. La encriptación a nivel de paquete hace que la encriptación de capa 7 a través de HTTPS entre el balanceador de cargas y los backends sea redundante para la mayoría de los propósitos. Considera usar HTTP en lugar de HTTPS o HTTP/2 para el tráfico entre el balanceador de cargas y los backends. A través de HTTP, también puedes reducir el uso de CPU de las VMs de backend. Sin embargo, cuando el backend es un grupo de extremos de red de Internet (NEG), usa HTTPS o HTTP/2 para el tráfico entre el balanceador de cargas y el backend. Esto ayuda a garantizar que tu tráfico sea seguro en la Internet pública. Para obtener un rendimiento óptimo, recomendamos comparar los patrones de tráfico de tu aplicación.
Network Intelligence Center
Network Intelligence Center de Google Cloud proporciona una vista integral del rendimiento de la red de Google Cloud en todas las regiones. Network Intelligence Center te ayuda a determinar si los problemas de latencia se deben a problemas en tu proyecto o en la red. También puedes usar esta información para seleccionar las regiones y zonas en las que debes implementar tus cargas de trabajo para optimizar el rendimiento de la red.
Usa las siguientes herramientas que proporciona Network Intelligence Center para supervisar y analizar el rendimiento de la red de tus cargas de trabajo en Google Cloud:
En el Panel de rendimiento, se muestra la latencia entre las regiones de Google Cloud y entre regiones y ubicaciones individuales en Internet. El Panel de rendimiento puede ayudarte a determinar dónde ubicar las cargas de trabajo para obtener la mejor latencia y determinar cuándo un problema de la aplicación puede deberse a problemas de red subyacentes.
En Topología de red, se ofrece una vista visual de tus redes de nube privada virtual (VPC), la conectividad híbrida con tus redes locales y la conectividad a los servicios administrados por Google. La topología de red proporciona métricas operativas en tiempo real que puedes usar para analizar y comprender el rendimiento de la red para identificar patrones de tráfico inusuales.
Network Analyzer es una herramienta de supervisión y diagnóstico de configuración automática. Comprueba los parámetros de configuración de la red de VPC para las reglas de firewall, las rutas, las dependencias de configuración y la conectividad de los servicios y las aplicaciones. Ayuda a identificar fallas en la red y proporciona análisis y recomendaciones de la causa raíz. Network Analyzer proporciona estadísticas priorizadas para ayudarte a analizar problemas con la configuración de red, como el alto uso de direcciones IP en una subred.
API de Gateway y Apigee
En esta sección, se proporcionan recomendaciones para ayudarte a optimizar el rendimiento de las APIs que implementas en Google Cloud a través del uso de API Gateway y Apigee.
API Gateway te permite crear y administrar APIs para backends sin servidores de Google Cloud, incluidos Cloud Functions, Cloud Run y App Engine. Estos servicios son servicios administrados y se escalan automáticamente. Sin embargo, a medida que se escalan las aplicaciones que se implementan en estos servicios, es posible que debas aumentar las cuotas y los límites de frecuencia de API Gateway.
Apigee proporciona los siguientes paneles de estadísticas para ayudarte a supervisar el rendimiento de tus APIs administradas:
- Panel de rendimiento del proxy de API: supervisa los patrones de tráfico del proxy de la API y los tiempos de procesamiento.
- Panel de rendimiento objetivo: visualiza los patrones de tráfico y las métricas de rendimiento para los objetivos de backend del proxy de API.
- Panel de rendimiento de la caché: Supervisa las métricas de rendimiento de la caché de Apigee, como la tasa promedio de aciertos de caché y el tiempo promedio en caché.
Si usas la integración de Apigee, ten en cuenta los límites de configuración del sistema cuando compiles y administres las integraciones.
¿Qué sigue?
Consulta las prácticas recomendadas para optimizar el rendimiento de tus recursos de procesamiento, almacenamiento, bases de datos y estadísticas:
- Optimiza el rendimiento del procesamiento.
- Optimiza el rendimiento del almacenamiento.
- Optimiza el rendimiento de la base de datos.
- Optimiza el rendimiento de las estadísticas.