Límites de frecuencia de la API

Los límites de frecuencia de la API definen la cantidad de solicitudes que se pueden realizar a la API de Compute Engine. Los límites de frecuencia de la API se aplican por proyecto. Cuando se usa gcloud compute o Google Cloud Console, también se realizan solicitudes a la API, que se suman a tu límite de frecuencia de API. Si usas cuentas de servicio para acceder a la API, estas también se tienen en cuenta en tu límite de frecuencia.

Hoy en día, se aplican las siguientes categorías de límite de frecuencia de la API a los proyectos. Cada categoría de límite se cuenta por separado, por lo que puedes alcanzar el límite máximo en cada categoría de forma simultánea. Los límites de frecuencia se aplican a intervalos de 100 segundos. Por ejemplo, 20 solicitudes por segundo se traducirían en 2,000 solicitudes en 100 segundos. Esto significa que si alcanzas un límite específico en cualquier momento en 100 segundos, debes esperar a que se actualice tu depósito de cuota para realizar más solicitudes.

  • Consultas: Límites de todos los métodos, excepto los métodos *.get y *.list:
    • Frecuencia por proyecto: 20 solicitudes por segundo
    • Frecuencia por usuario: 20 solicitudes por segundo
  • Solicitudes de lectura: Límites de los métodos *.get:
    • Frecuencia por proyecto: 20 solicitudes por segundo
    • Frecuencia por usuario: 20 solicitudes por segundo
  • Solicitudes de lista: Límites de los métodos *.list:
    • Frecuencia por proyecto: 20 solicitudes por segundo
    • Frecuencia por usuario: 20 solicitudes por segundo
  • Solicitudes de operaciones de lectura: Límites de los métodos *OperationsService.Get:
    • Frecuencia por proyecto: 20 solicitudes por segundo
    • Frecuencia por usuario: 20 solicitudes por segundo
  • Solicitudes de operaciones de lectura pesadas: Límites de los métodos *.AggregatedList:
    • Frecuencia por proyecto: 10 solicitudes por segundo
    • Frecuencia por usuario: 10 solicitudes por segundo
  • Solicitudes de mutación pesadas Límites de los métodos patch, delete y insert para las características InterconnectsService y InterconnectAttachmentsService:
    • Frecuencia por proyecto: 10 solicitudes por segundo
    • Frecuencia por usuario: 10 solicitudes por segundo
  • Solicitudes de instancias SimulateMaintenanceEvent: Límites de los métodos *.SimulateMaintenanceEvent:
    • Frecuencia por proyecto: 2 solicitudes por segundo
    • Frecuencia por usuario: 2 solicitudes por segundo
  • Solicitudes de inserción de licencias: Límites de los métodos *.LicensesService.Insert:
    • Frecuencia por proyecto: 2 solicitudes por segundo
    • Frecuencia por usuario: 2 solicitudes por segundo

Si necesitas un límite de frecuencia más alto para las solicitudes a la API, puedes solicitar un aumento a través de Google Cloud Console.

Prácticas recomendadas

Estas son algunas de las prácticas recomendadas que ofrecemos para ayudarte a trabajar con los límites de frecuencia de las API en Compute Engine.

  • Usa bursting de forma moderada y selectiva. Bursting es el acto de permitir que un cliente específico haga muchas solicitudes a la API en un período corto de tiempo. Por lo general, esto se hace en casos excepcionales, como cuando tu aplicación necesita manejar más tráfico de lo habitual. Bursting hará que se llegue más rápido a tu límite de frecuencia de la API, así que asegúrate de usarlo solo cuando sea necesario.

  • Usa un limitador de frecuencia del cliente. Un limitador de frecuencia del cliente establece un límite artificial para que el cliente en cuestión solo pueda usar una determinada cantidad de cuota. Esto evita que cualquier cliente consuma toda tu cuota.

  • Usa la retirada exponencial para espaciar las solicitudes de forma progresiva una vez que alcances tu cuota. Esto le da tiempo al servidor para rellenar tus depósitos de cuota.

  • Evita los sondeos cortos, en los que los clientes realizan solicitudes al servidor de forma continua sin esperar una respuesta. Si realizas un sondeo corto, será más difícil detectar solicitudes erróneas que se tengan en cuenta en tu cuota, incluso si no muestran datos útiles.

  • Divide tus aplicaciones en varios proyectos. Dado que las cuotas se aplican en un nivel por proyecto, puedes dividir tus aplicaciones para que cada aplicación tenga su propio grupo de cuotas dedicado.

  • Si recibes un error 403 con el mensaje de error rateLimitExceeded, espera unos segundos y vuelve a hacer tu solicitud. Los depósitos de cuota se vuelven a rellenar cada 100 segundos, por lo que tu solicitud debería ser exitosa luego de ese intervalo.