Las interfaces de programación de aplicaciones (API) permiten la amplia red actual de sitios web, aplicaciones web y aplicaciones móviles. En términos simples, una API permite a los desarrolladores hacer que los datos de la aplicación estén disponibles públicamente para que otras aplicaciones puedan integrarse con ellos.
Al crear y monitorear una integración de API, siempre debe prestar atención al rendimiento de la integración: ¿Qué tan rápido maneja su API las solicitudes entrantes y envía respuestas? ¿Cómo afecta la velocidad a más solicitudes?
Para las aplicaciones web, el rendimiento de la API tiene un impacto complejo en la experiencia del usuario. Mediante la aplicación web, el cliente puede enviar decenas de solicitudes en cuestión de minutos. Si la API tarda en responder, la aplicación del cliente se retrasa, lo que genera clientes insatisfechos y desarrolladores descontentos.
En esta publicación, aprenderemos sobre una métrica que puede monitorear para asegurarse de que su API sea rápida y eficiente: el tiempo de respuesta de la API. Definiremos qué significa el tiempo de respuesta, así como a qué rango de tiempo de respuesta debe apuntar su programa. Empecemos.
¿Cuál es el tiempo de respuesta de la API?
El tiempo de respuesta de la API es el tiempo que tarda la API en procesar la solicitud y enviar la respuesta al cliente. El período de respuesta comienza cuando el cliente inicia una solicitud al servidor API y finaliza cuando el cliente recibe una respuesta de la API.
El tiempo de respuesta de la API es una de las métricas clave al juzgar la velocidad de una aplicación web. Si una API tarda en responder a las solicitudes de los clientes, a su vez ralentiza todas las aplicaciones de terceros que usan la API, lo que afecta negativamente la experiencia del usuario. La API rápida, por otro lado, está ganando una reputación positiva y es más probable que los clientes la adopten.
Retraso de la API y tiempo de respuesta
Cuando se hace referencia a las API, los términos «tiempo de respuesta» y «retraso» a menudo se usan indistintamente. Sin embargo, aunque están relacionados, no miden lo mismo.
El tiempo de respuesta es el tiempo total que se tarda en recibir, procesar y responder a la solicitud de un cliente a través de la API web. El tiempo de reacción depende en gran medida de la duración de este paso del «proceso». Por ejemplo, la solicitud puede requerir que la API descargue algunos archivos de la base de datos. Si el servidor tarda mucho tiempo en completar esta descarga, ese tiempo adicional se agrega al tiempo de respuesta total.
La latencia es diferente: mide el tiempo que tardan las solicitudes y las respuestas en viajar entre el cliente y el servidor. La latencia se ve afectada por factores como el número y la función de los proxies entre el cliente y el servidor de la API, así como la distancia física entre el cliente y el servidor de la API. El cliente tenderá a tener una mayor latencia durante una solicitud del servidor API a 5000 millas de distancia que a 500 millas de distancia.
Aquí hay un diagrama práctico de Desarrollador escalable lo que ayuda a ilustrar la diferencia entre latencia y tiempo de respuesta:

Como puede ver en el diagrama, el tiempo de respuesta es aproximadamente la suma de la latencia del servidor y el tiempo de procesamiento.
¿Cuál es un buen tiempo de respuesta de API?
Antes de analizar los estándares de tiempo de respuesta de la API, debe saber que los tiempos de respuesta de la API se pueden medir de varias maneras. Sin embargo, los dos más comunes son el tiempo de respuesta medio y el tiempo de respuesta máximo.
El tiempo medio de respuesta es el tiempo medio que tarda la API en responder a las solicitudes de una muestra de solicitudes. Este es un buen indicador del rendimiento general de la API. Por ejemplo, si realizó una muestra de 10 000 solicitudes de API durante un período de tiempo, podría promediar todos los tiempos de respuesta de esa muestra.
El tiempo máximo de respuesta es el tiempo máximo de respuesta de API tomado de una muestra de solicitudes de API. El tiempo de respuesta máximo se utiliza para identificar problemas de API, especialmente si el tiempo de respuesta máximo de API es significativamente más alto que el tiempo de respuesta promedio. Reducir el tiempo de respuesta pico también mejora el tiempo de respuesta promedio.
En general, las API que se consideran de alto rendimiento tienen un tiempo de respuesta promedio de 0,1 a un segundo. Es poco probable que los usuarios finales experimenten interrupciones a esta velocidad. Después de aproximadamente uno o dos segundos, los usuarios comienzan a notar un retraso. En unos cinco segundos, los usuarios experimentarán un retraso significativo y, como resultado, es posible que dejen de usar la aplicación o el sitio web.
Es posible que su API no logre esta prueba para todas las solicitudes, especialmente las solicitudes que consumen muchos recursos o las solicitudes durante períodos de mucho tráfico que imponen una mayor carga en el servidor y ralentizan su respuesta.
Pero en las pruebas de API, debe apuntar a que el tiempo de respuesta promedio generalmente no exceda un segundo. Y tenga en cuenta los tiempos de respuesta máximos y otros valores atípicos, ya que aumentarán su promedio y harán que su API funcione peor de lo que realmente es la mayor parte del tiempo.
Cómo medir el tiempo de respuesta de la API
Hay muchas herramientas de prueba de API disponibles para medir los tiempos de respuesta de API. Herramientas como Postman o Apache JMeter pueden realizar varias pruebas en su API y registrar indicadores de rendimiento como el tiempo de respuesta promedio.
También puede usar un servicio de monitoreo de sitios web para medir los tiempos de respuesta. Recuerde que puede obtener diferentes medidas de tiempo de respuesta en diferentes herramientas, ya que las herramientas pueden calcular el tiempo de respuesta de formas ligeramente diferentes.
Explicación del tiempo de respuesta de la API
Si comprende los conceptos básicos de las API, el concepto de tiempo de respuesta no es demasiado difícil de entender. Aun así, es una de las métricas clave que se debe monitorear al lanzar una aplicación web y optimizarla continuamente para mantener un rango óptimo.








