Limitación de solicitudes de Compute
Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjuntos de escalado flexibles ✔️ Conjuntos de escalado uniformes
Microsoft Compute implementa el mecanismo de limitación de solicitudes para ayudar con el rendimiento general del servicio y ofrecer una experiencia coherente a los clientes. Las solicitudes de API que superan los límites máximos permitidos se limitan y los usuarios reciben un error HTTP 429. Todas las directivas de limitación de solicitudes de Compute se implementan por región.
¿Cómo funcionan las directivas de limitación de solicitudes?
Microsoft Compute implementa directivas de limitación de solicitudes que restringen el número de solicitudes de API realizadas por recurso y suscripción por región/minuto. Si el número de solicitudes de API supera estos límites, las solicitudes se restringen. Así es cómo funcionan estos límites:
Límite por recurso: cada recurso, como una máquina virtual (VM), tiene un límite específico de solicitudes de API. Por ejemplo, supongamos que un usuario crea 10 máquinas virtuales en una suscripción. El usuario puede invocar hasta 12 solicitudes de actualización para cada máquina virtual en un minuto. Si el usuario supera el límite de la máquina virtual, se limitan las solicitudes de API. Este límite garantiza que algunos recursos no consuman los límites de nivel de suscripción y limiten otros recursos.
Límite de suscripción: además de los límites de recursos, hay un límite general sobre el número de solicitudes de API en todos los recursos dentro de una suscripción. Las solicitudes de API que superen este límite se restringen, independientemente de si se ha alcanzado el límite para un recurso individual. Por ejemplo, supongamos que un usuario tiene 200 máquinas virtuales en una suscripción. Aunque el usuario tiene derecho a iniciar hasta 12 solicitudes de actualización de máquinas virtuales para cada máquina virtual, el límite agregado para las solicitudes de API de actualización de máquinas virtuales se limita a 1500 por minuto. Las solicitudes de API de actualización de máquinas virtuales de la suscripción que superan las 1500 se limitan.
¿Cómo determina Microsoft Compute la limitación de solicitudes?
Para determinar los límites de cada recurso y suscripción, Microsoft Compute usa el algoritmo de cubo de tokens. Este algoritmo crea cubos para cada límite y contiene un número específico de tokens en cada cubo. El número de tokens de un cubo representa la limitación en cualquier minuto determinado.
Al principio de la ventana de limitación, cuando se crea el recurso, el cubo se carga hasta su capacidad máxima. Cada solicitud de API iniciada por el usuario consume un token. Cuando el recuento de tokens se reduce a cero, se limitan las solicitudes de API subsiguientes. El cubo se recarga con nuevos tokens cada minuto a una velocidad uniforme llamada tasa de recarga del cubo para un recurso y una suscripción.
Por ejemplo: consideremos la "directiva de limitación de solicitudes de la API de actualización de máquinas virtuales" que estipula una tasa de recarga del cubo de cuatro tokens por minuto y una capacidad máxima del cubo de 12 tokens. El usuario invoca la solicitud de API de actualización de máquinas virtuales para una máquina virtual (VM) según la tabla siguiente. Inicialmente, el cubo se recarga con 12 tokens al principio de la ventana de limitación de solicitudes. En el minuto cuatro, el usuario utiliza los 12 tokens, lo que deja el cubo vacío. En el minuto cinco, el cubo se recarga con cuatro nuevos tokens de acuerdo con la tasa de recarga del cubo. Por lo tanto, se pueden realizar cuatro solicitudes de API en el minuto cinco, mientras que Microsoft Compute limita una solicitud de API debido a tokens insuficientes.
(min) | 1º | 2º | 3rd (tercero) | 4 | 5.º | 6 |
---|---|---|---|---|---|---|
Número de tokens al principio (A) | 12 | 12 | 8 | 12 | 4 | 4 |
300 solicitudes por minuto (B) | 0 | 8 | 0 | 13 | 5 | 0 |
Solicitudes limitadas (C) | 0 | 0 | 0 | 1 | 1 | 0 |
Tokens restantes al final del período D = Max(A-B, 0) |
12 | 4 | 8 | 0 | 0 | 4 |
Para determinar la limitación de solicitudes a nivel de suscripción, se sigue un proceso similar. En las secciones siguientes se detalla la tasa de recarga del cubo y la capacidad máxima del cubo que se usa para determinar la limitación de solicitudes para máquinas virtuales, conjuntos de escalado de máquinas virtuales y máquinas virtuales del conjunto de escalado de máquinas virtuales.
Limitación de solicitudes para máquinas virtuales
Las solicitudes de API para máquinas virtuales se clasifican en siete directivas distintas. Cada directiva tiene sus propios límites, en función de la cantidad de recursos que requieren las solicitudes de API de esa directiva. La tabla siguiente contiene una lista completa de estas directivas, las API REST correspondientes y su limitación de solicitudes respectiva:
Categoría de directivas | API de REST | Nivel de recurso | Nivel de recurso | A nivel de suscripción | A nivel de suscripción |
---|---|---|---|---|---|
Tasa de recarga del cubo (por minuto) | Capacidad máxima del cubo (Por minuto) |
Tasa de recarga del cubo (Por minuto) |
Capacidad máxima del cubo (Por minuto) |
||
Colocar máquina virtual (Crear nuevas máquinas virtuales) |
Crear | 4 | 12 | 500 | 1500 |
Actualizar máquina virtual (Actualizar máquinas virtuales existentes) |
Actualizar Volver a aplicar Reiniciar Apagar Iniciar Generalizar Convertir en discos administrados Volver a implementar Realizar mantenimiento Capture Comando Ejecutar Crear o actualizar Extensiones: Actualizar Extensiones: Eliminar Restablecer imagen inicial Actualizar Ejecutar comandos: actualizar Ejecutar comandos: Eliminar Ejecutar comandos: Crear o actualizar |
4 | 12 | 500 | 1500 |
Eliminación de la máquina virtual (Eliminar máquinas virtuales) |
Eliminar Simular expulsión Desasignar |
4 | 12 | 500 | 1500 |
Obtener máquina virtual de bajo costo (Obtener información sobre una sola máquina virtual) |
Get Vista de instancia Extensiones: obtener Enumerar los tamaños disponibles Recuperar datos de diagnósticos de arranque Ejecutar comandos: obtener por máquina virtual Ejecutar comandos: enumerar por máquina virtual |
12 | 36 | 8,000 | 24,000 |
Obtención de máquina virtual de alto costo1 (Obtener información sobre varias máquinas virtuales) |
List Enumerar todo Enumerar por ubicación |
N/D | N/D | 300 | 900 |
Operación GET (Obtención de información sobre las operaciones de máquina virtual asincrónicas) |
Estado de las operaciones asincrónicas | 15 | 45 | 5000 | 15,000 |
Operaciones de revisión de invitado de máquina virtual (Evaluar e instalar revisiones de invitado) |
Evaluar revisiones Instalar revisiones |
2 | 6 | 200 | 600 |
1 Solo se aplican las directivas de nivel de suscripción.
Limitación de suscripciones para conjuntos de escalado de máquinas virtuales
Las solicitudes de API para conjuntos de escalado de máquinas virtuales (uniforme y flexible) se clasifican en cinco directivas distintas. Cada directiva tiene sus propios límites, en función de la cantidad de recursos que requieren las solicitudes de API de esa directiva. Estas directivas son aplicables a los modos de orquestación flexible y uniforme. La tabla siguiente contiene una lista completa de estas directivas, las API REST correspondientes y su limitación de solicitudes respectiva:
Categoría de directivas | API de REST | Nivel de recurso | Nivel de recurso | A nivel de suscripción | A nivel de suscripción |
---|---|---|---|---|---|
Tasa de recarga del cubo (Por minuto) |
Capacidad máxima del cubo (Por minuto) |
Tasa de recarga del cubo (por minuto) | Capacidad máxima del cubo (Por minuto) |
||
Colocar (Crear nuevo conjunto de escalado) |
Crear | 4 | 12 | 125 | 375 |
Actualizar (Actualizar conjunto de escalado existente) |
Actualizar Iniciar2 Reiniciar2 Volver a implementar2 Realizar mantenimiento2 Restablecer imagen inicial2 Restablecer imagen inicial de todo2 Crear o actualizar Actualizaciones graduales: Cancelar Extensiones: Crear Extensiones: Actualizar Extensiones: Eliminar Forzar recorrido de dominio de actualización de plataforma de recuperación de Service Fabric Convertir en grupo de selección de ubicación único Establecer el estado del servicio de orquestación |
4 | 12 | 500 | 1500 |
Eliminar (Eliminar conjunto de escalado) |
Eliminar Apagar2 Desasignar |
4 | 12 | 175 | 525 |
Obtener bajo costo (Obtener información sobre un solo conjunto de escalado) |
Get Enumerar SKU Actualizaciones graduales: obtener la más reciente Obtener historial de actualizaciones del SO |
12 | 36 | 800 | 2,400 |
Obtención de costo elevado (Obtener información intensiva de recursos) |
Obtener vista de instancia Enumerar2 Enumerar todo2 Enumerar por ubicación2 |
10 | 30 | 360 | 1080 |
2 Solo se aplican las directivas de nivel de suscripción.
Limitación de solicitudes de máquinas virtuales del conjunto de escalado de máquinas virtuales
Las solicitudes de API para máquinas virtuales del conjunto de escalado de máquinas virtuales se clasifican en tres directivas distintas. Cada directiva tiene sus propios límites, en función de la cantidad de recursos que requieren las solicitudes de API de esa directiva. La tabla siguiente contiene una lista completa de estas directivas, las API REST correspondientes y su limitación de solicitudes respectiva:
Categoría de directivas | API de REST | Nivel de recurso | Nivel de recurso | A nivel de suscripción | A nivel de suscripción |
---|---|---|---|---|---|
Tasa de recarga del cubo (Por minuto) |
Capacidad máxima del cubo (Por minuto) |
Tasa de recarga del cubo (Por minuto) |
Capacidad máxima del cubo (Por minuto) |
||
Actualizar máquinas virtuales del conjunto de escalado (Actualizar las máquinas virtuales existentes en un conjunto de escalado) |
Iniciar Restart (Reiniciar) Restablecer imagen inicial ReimageAll Actualizar SimulateEviction Extensiones: Crear o actualizar RunCommands: Crear o actualizar RunCommands: Actualizar |
4 | 12 | 500 | 1500 |
Eliminar máquinas virtuales del conjunto de escalado (Eliminar máquinas virtuales del conjunto de escalado) |
Eliminar PowerOff Desasignar Extensiones: Eliminar RunCommands: Eliminar |
4 | 12 | 500 | 1500 |
Obtener máquinas virtuales del conjunto de escalado (Obtener información sobre máquinas virtuales del conjunto de escalado) |
Get GetInstance (vista) Extensiones: Obtener RunCommands: Obtener Recuperar datos de diagnóstico de arranque |
12 | 36 | 2\.000 | 6,000 |
Instrucciones para la solución de problemas
En caso de que los usuarios sigan teniendo dificultades debido a la limitación de solicitudes de Compute, consulte Solución de problemas de errores de limitación de solicitudes en Azure: Virtual Machines. En este artículo encontrará información sobre cómo solucionar problemas de limitación de solicitudes y procedimientos recomendados para evitar dicha limitación.
Preguntas más frecuentes
¿Se requiere alguna acción de los usuarios?
Los usuarios no necesitan cambiar nada en su configuración o cargas de trabajo. Todas las API existentes siguen funcionando tal como están.
¿Qué ventajas proporcionan las directivas de limitación de solicitudes?
Las directivas de limitación de solicitudes ofrecen varias ventajas:
Todos los recursos de Compute tienen una ventana uniforme de 1 minuto. Los usuarios pueden invocar correctamente llamadas de API, 1 minuto después de limitarse.
Ningún solo recurso puede usar todos los límites de una suscripción, ya que los límites se definen a nivel de recurso.
Microsoft Compute presenta un nuevo algoritmo, el algoritmo de recarga de tokens, para determinar los límites. El algoritmo proporciona un búfer adicional a los clientes, al tiempo que realiza un gran número de solicitudes de API.
¿El cliente recibe una alerta cuando está a punto de alcanzar su limitación de solicitudes?
Como parte de cada respuesta, Microsoft Compute devuelve x-ms-ratelimit-remaining-resource, que se puede usar para determinar la limitación de solicitudes de las directivas. Se devuelve una lista de directivas de limitación de solicitudes aplicables como respuesta a los encabezados informativos de frecuencia de llamadas.