[ Editor : Esta publicación se ha actualizado con información sobre los informes revisados introducidos en la versión 0.2.0 de rtapi
.]
Las API se encuentran en el corazón mismo de las aplicações modernas y las arquitecturas digitales en evolución; las llamadas API representan el 83 % de todo el tráfico web, según el Informe sobre el estado de la seguridad de Internet de Akamai . En el panorama actual, donde es tan fácil para los consumidores cambiarse a un competidor digital, es fundamental que tengan una experiencia positiva con su sitio web o aplicación. La velocidad es muy valorada y, en última instancia, se basa en APIs responsivas, robustas y adaptables. Si haces esto bien (tu API es más rápida que la de tu competencia), los desarrolladores te elegirán.
Según el informe de IDC APIs: los agentes determinantes entre el éxito o el fracaso de los negocios digitales , más del 90% de las organizaciones esperan una latencia inferior a 50 milisegundos (ms), mientras que casi el 60% espera una latencia de 20 ms o menos. (La latencia se define como la cantidad de tiempo que tarda su infraestructura de API en responder a una llamada de API, desde el momento en que una solicitud llega a la puerta de enlace de API hasta cuando se devuelve el primer byte de una respuesta al cliente).
Hemos utilizado estos datos, junto con un análisis de extremo a extremo del ciclo de vida de la API, para definir una API en tiempo real como aquella con una latencia de 30 ms o menos. Además, el umbral de latencia de 30 ms debe mantenerse hasta el percentil 99 de las solicitudes procesadas (lo que significa que, en promedio, solo 1 solicitud de cada 100 demora más de 30 ms). Para obtener más detalles, consulte nuestro blog sobre evaluación comparativa del rendimiento de las soluciones de gestión de API .
Para la mayoría de las empresas es un gran desafío procesar llamadas API lo más cerca posible del tiempo real, especialmente cuando se utilizan puertas de enlace API arquitectónicamente complejas como puntos de entrada a sus puntos finales API. Entonces, ¿cómo se comparan sus API? ¿Son ya lo suficientemente rápidos para ser considerados en tiempo real o necesitan mejorar? ¿Su producto se siente un poco lento, pero no puede explicar exactamente por qué? ¿Quizás no sepas con seguridad cómo es la latencia de tu API?
Ingrese a rtapi
, una herramienta de evaluación comparativa de latencia de API en tiempo real creada por NGINX que prueba la capacidad de respuesta de sus puertas de enlace y puntos finales de API, y genera informes que puede distribuir y socializar fácilmente entre sus pares. Hay dos formatos de informe disponibles: un PDF con un gráfico de resumen y una tabla con formato ASCII de métricas detalladas.
rtapi
Descargue el binario rtapi
desde GitHub, utilizando uno de dos métodos:
Si tiene Golang instalado, ejecute este comando:
$ ve a github.com/nginxinc/rtapi
Especifique uno o más puntos finales de API ( objetivos ) que desee consultar, en formato JSON o YAML como en los siguientes ejemplos. Recomendamos guardar el JSON o YAML en un archivo llamado endpoints.json o endpoints.yml . (Para JSON también puedes incluir los datos en la línea de comando rtapi
en el siguiente paso, como parámetro del indicador --data
).
Los únicos parámetros requeridos para cada punto final son target.url
y target.method
. Si no especifica target.body
y target.header
, permanecerán vacíos. Si no especifica un parámetro en el objeto query_parameters
, rtapi
usa el valor (predeterminado) que se muestra en los siguientes ejemplos.
Entrada JSON de muestra
[
{
"objetivo": {
"url": "https://www.ejemplo.com",
"método": "CORREO",
"cuerpo": "{\"id\":\"0\"}",
"encabezado": {
"Tipo de contenido": [
"aplicação/json"
]
}
},
"parámetros de consulta": {
"trapos": 2,
"máximo_hilos": 2,
"conexiones": 10,
"duración": "10 s",
"tasa_de_solicitud": 500
}
}
]
Ejemplo de entrada YAML
- objetivo: URL: https://ejemplo.com/api/id
método: PUBLICACIÓN
Cuerpo: '{"id":"0"}'
Encabezado:
Tipo de contenido:
- aplicação/json
parámetros de consulta:
trapos: 2
máx. hilos: 2
conexiones: 12
duración: 10 s
tasa de solicitud: 500
Ejecute el siguiente comando, donde --file
nombra el archivo que contiene la lista en formato JSON/YAML de puntos finales de API y --output
nombra el informe en PDF que generará rtapi
. (Como se indicó en el Paso 2, puede proporcionar una entrada JSON en la línea de comando: para --file
endpoints.json
sustituya --data
seguido de la cadena JSON).
$ rtapi --file endpoints.json --output report.pdf
Para mostrar la tabla de métricas con formato ASCII en la terminal, incluya el indicador --print
, en lugar de (o además de) el indicador --output
.
$ rtapi --file endpoints.json --print
El informe PDF generado por rtapi
contiene un histograma HDR de latencia de respuesta como el siguiente (desde una puerta de enlace API NGINX Plus configurada usando el módulo de administración de API del controlador NGINX ). El eje Y muestra la latencia en milisegundos, y el eje X muestra la proporción de llamadas procesadas en menos de una latencia determinada, expresada como percentil. (En el siguiente ejemplo, hemos comprimido el eje Y por cuestiones de espacio).
Para resaltar los resultados de su API, las líneas discontinuas que son paralelas a los ejes se intersecan para mostrar la latencia medida de su API en el percentil 99 ( 99 % en el gráfico). Para que su API se considere en tiempo real, la latencia en la intersección debe ser inferior a 30 ms.
¿La latencia de su API es inferior a 30 ms?
Si usted es como muchas empresas con las que hablamos, lo más probable es que no lo sea. En muchas soluciones de gestión de API y de puerta de enlace de API, una latencia de 100 ms es común, e incluso 500 ms no es inusual.
Podemos ayudarlo a mejorar el rendimiento de su API: NGINX y NGINX Plus son las puertas de enlace API más rápidas de la industria y, junto con NGINX Controller, pueden ayudarlo a enrutar, autenticar, proteger, dar forma y almacenar en caché llamadas API en menos de 30 ms. Obtenga más información, hable con un experto de NGINX y descubra cómo NGINX puede ayudarlo en su camino hacia las API en tiempo real en nginx.com/real-time-api .
"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.