Un ingeniero viendo un monitor o terminal.

¿Qué es la ingeniería del rendimiento?

Definición de ingeniería del rendimiento

La ingeniería del rendimiento consiste en optimizar los sistemas de TI para cumplir con los puntos de referencia de velocidad y eficiencia.

La ingeniería del rendimiento no es una sola acción, sino una metodología DevOps y shift left que permite a las empresas realizar un seguimiento y optimizar el rendimiento en cada paso del ciclo de vida del desarrollo de software (SDLC). Su objetivo es garantizar que los sistemas cumplan con los indicadores de rendimiento en aspectos como la velocidad, la confiabilidad, la eficiencia y el tiempo de respuesta.

Los equipos de ingeniería del rendimiento establecen primero el rendimiento base del sistema mediante pruebas de estrés. Luego, utilizan esa referencia para identificar problemas en la red y oportunidades de mejora. Cuando se establecen los puntos de referencia, los ingenieros pueden comenzar a reconfigurar la red, implementar arreglos y monitorear continuamente la red en busca de problemas de rendimiento y planificación de capacidad futura.

La observabilidad es la base de la ingeniería del rendimiento. Las herramientas de observabilidad recopilan los datos sin procesar (registros, métricas y rastreos) que describen el rendimiento del sistema, y los equipos de ingeniería de rendimiento utilizan estos mismos datos para realizar un seguimiento de los efectos de sus arreglos. Los ingenieros de rendimiento también utilizan diversas otras herramientas para la gestión y el monitoreo del rendimiento de las aplicaciones, pruebas de estrés, auditoría de navegadores y puntos de referencia para obtener las imágenes más nítidas posibles de sus sistemas.

Ingeniería del rendimiento frente a la gestión del rendimiento de las aplicaciones y las pruebas de rendimiento

La ingeniería del rendimiento es la disciplina más amplia e integral de optimizar los sistemas de TI para cumplir con los puntos de referencia predeterminados. La gestión del rendimiento de las aplicaciones (APM) y las pruebas de rendimiento son dos de las actividades involucradas en ese proceso general.

La gestión del rendimiento de las aplicaciones es una práctica que utiliza herramientas de software, análisis de datos y procesos de gestión de aplicaciones para ayudar a las organizaciones a optimizar el rendimiento, la disponibilidad y la experiencia del usuario de las aplicaciones empresariales. Mientras que la ingeniería de rendimiento abarca todo el proceso de desarrollo, la APM se centra en detectar y solucionar problemas en aplicaciones en vivo.

Del mismo modo, las pruebas de rendimiento consisten en evaluar el rendimiento de una red o una aplicación en diversas condiciones mediante pruebas de carga, pruebas de estrés, pruebas de resistencia y pruebas de otro tipo. Al igual que la APM, las pruebas de rendimiento son solo una actividad dentro de la práctica más amplia de la ingeniería de rendimiento.

¿Cómo funciona la ingeniería del rendimiento?

La ingeniería del rendimiento se logra a través de una secuencia flexible, pero completa que incluye establecer puntos de referencia, pruebas y priorización, optimización, planificación y monitoreo del rendimiento.

Puntos de referencia

En primer lugar, la organización determina el nivel de rendimiento necesario para que sus sistemas y aplicaciones cumplan con los objetivos empresariales. Luego, los ingenieros de rendimiento prueban el rendimiento actual para establecer puntos de referencia y determinar cómo cumplirlos.

Las métricas de puntos de referencia comunes incluyen latencia, rendimiento, utilización de recursos y tasa de error. Los equipos de desarrollo pueden medir estas métricas a nivel micro (dentro de un servidor o servicio en particular) o a mayor escala en toda una aplicación o red.

Los puntos de referencia suelen incluir preguntas específicas sobre los requisitos de rendimiento y el entorno de desarrollo. Por ejemplo, en lugar de intentar establecer un umbral general para la utilización de la CPU, los ingenieros podrían preguntar si se utiliza menos del 60 % de la CPU cuando 5000 usuarios utilizan simultáneamente una aplicación.

Probar y priorizar

Mediante herramientas de pruebas de rendimiento, los ingenieros de rendimiento validan los datos de las pruebas con los puntos de referencia establecidos para identificar dónde y qué cambios deben realizarse a fin de cumplir con los niveles de servicio requeridos.

Las formas más comunes de pruebas de rendimiento incluyen:

Pruebas de carga

Las pruebas de carga indican cómo funciona el sistema cuando opera con cargas esperadas. El objetivo de las pruebas de carga es mostrar el comportamiento del sistema cuando se encuentran cargas de trabajo de tamaño rutinario en condiciones de trabajo normales con un número promedio de usuarios simultáneos.

Pruebas de escalabilidad

Las pruebas de escalabilidad ponen al sistema bajo presión al aumentar el volumen de datos o las cargas de usuarios que se gestionan. Demuestra si un sistema puede mantener un ritmo mayor y seguir ofreciendo resultados.

Pruebas de estrés

Las pruebas de estrés llevan el sistema hasta sus límites operativos comprendidos, y luego aún más allá, para determinar exactamente cuánto puede soportar el sistema antes de llegar a su punto de quiebre.

Pruebas de picos

Las pruebas de picos observan lo que sucede cuando el tráfico de usuarios o el volumen de datos experimentan repentinamente un aumento brusco y drástico en la actividad. El sistema debe absorber varios cambios mientras continúa con las operaciones habituales.

Pruebas de volumen

Las pruebas de volumen examinan cómo un sistema maneja grandes cantidades de datos, específicamente si puede procesar completamente esos datos y almacenarlos sin degradación.

Pruebas de resistencia

Las pruebas de resistencia, o pruebas de remojo, son cuando los ingenieros observan un sistema a lo largo del tiempo para detectar problemas, como la degradación gradual de los datos o las fugas de memoria.

Optimización

Después de identificar los límites y deficiencias del sistema, comienza el proceso de optimización.

Dependiendo de la naturaleza del cuello de botella de rendimiento en cuestión, los ingenieros de rendimiento pueden usar estrategias de optimización como:

  • Optimización de algoritmos, donde se modifican los algoritmos que potencian las funciones del sistema para mejorar la eficiencia.

  • Optimización de bases de datos, donde los problemas subyacentes con los datos del sistema se solucionan a través de procesos como la optimización de consultas (el proceso de determinar la forma más eficiente para que una base de datos ejecute una consulta) o la optimización de índices, que tiene como objetivo asegurar que el sistema utilice las rutas de recuperación más rápidas posibles.

  • El almacenamiento en caché, que almacena los resultados de operaciones informáticas exigentes para que se puedan reproducir y recuperar más rápidamente.

  • Optimización de memoria, donde los ingenieros reducen las fugas de memoria y aceleran la recolección de basura mediante la reutilización de objetos en la memoria, la reorganización de datos o el almacenamiento de algunos datos fuera del sitio.

  • La optimización de la red, que incluye la compresión del ancho de banda, el equilibrio de carga, la reutilización de conexiones HTTP y otros métodos para acelerar el rendimiento de la red.

Planificación y monitoreo

Una vez optimizado el sistema, los ingenieros de rendimiento supervisan constantemente cualquier desviación respecto a la nueva línea de base y planifican el crecimiento y la actividad futuros.

La observabilidad permite a los ingenieros de rendimiento determinar si su sistema está funcionando según lo previsto. Al recopilar y analizar registros, métricas y rastreos, las herramientas de observabilidad permiten a los equipos de TI automatizar la identificación y resolución de problemas en tiempo real. Cuanto más observable sea un sistema, más rápido y preciso será para los equipos de TI pasar de un problema de rendimiento identificado a su causa principal, sin pruebas ni programación adicionales.

La planificación de la capacidad permite a los ingenieros de rendimiento adelantarse a las necesidades del negocio al prever los requisitos futuros de la infraestructura de TI. La planificación de la capacidad implica analizar la demanda actual y la capacidad disponible, comparándola con las capacidades y recursos de la organización. Luego, las organizaciones desarrollan una estrategia ajustable que les permite escalar de manera eficiente los recursos y la producción.

Academia de IA

Cómo lograr la preparación para la IA con la nube híbrida

Dirigida por los principales líderes de opinión de IBM, el plan de estudios está diseñado para ayudar a los líderes empresariales a obtener los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

Beneficios de la ingeniería del rendimiento

Entre los beneficios de la ingeniería del rendimiento se incluyen una mejor experiencia del usuario, una infraestructura de TI más escalable, una resolución de problemas más eficiente y una mejor planificación de la capacidad.

Experiencia de usuario mejorada

La ingeniería del rendimiento mejora la experiencia del usuario al solucionar problemas de rendimiento, como la latencia elevada, que puede alejar a los usuarios de un servicio. Al optimizar el proceso de ingeniería de software y sus resultados, la ingeniería del rendimiento puede ayudar a generar confianza entre los usuarios y fomentar su lealtad.

Mayor escalabilidad

La ingeniería del rendimiento ofrece una visión clara de los problemas que presenta un sistema. Esta imagen facilita evitar cuellos de botella al expandir ese sistema (ya sea horizontalmente, agregando nuevos servicios, o verticalmente, usando más capacidad de red).

Resolución eficiente de problemas

La ingeniería del rendimiento contribuye a garantizar que los ingenieros cuenten con las herramientas y los conocimientos necesarios para crear sistemas que cumplan con los puntos de referencia establecidos. Los ingenieros pueden resolver problemas de rendimiento más rápidamente, reduciendo el tiempo medio de reparación (MTTR) y a menor costo, porque los problemas se detectan antes de que tengan la oportunidad de interrumpir significativamente el rendimiento de la red.

Planificación optimizada de la capacidad

La ingeniería del rendimiento puede contribuir a mejorar la eficacia de la planificación de la capacidad al ayudar a los ingenieros a comprender mejor el comportamiento de los sistemas. A través del proceso de puntos de referencia y prácticas continuas de observabilidad, los ingenieros adquieren un mayor insight de lo que necesitan sus redes. Esta insight ayuda a los ingenieros a tomar mejores decisiones sobre la capacidad, reduciendo el riesgo de gastar tanto de más como de menos en la capacidad del servidor.

Desafíos de la ingeniería del rendimiento

Los desafíos de la ingeniería del rendimiento incluyen la complejidad de los sistemas modernos, la identificación de las causas principales de los problemas, la contabilización de los problemas de “cola larga” y la creación de los conjuntos de herramientas y la experiencia necesarios.

Complejidad

Los entornos de TI modernos están dominados por microservicios, cuyo número puede ascender a miles, y que a menudo se alojan en complejos entornos de nube híbrida. Recopilar, analizar y actuar en función de los insights obtenidos de estos sistemas distribuidos puede ser un proceso que requiere muchos recursos y cuyos flujos de trabajo a veces son impredecibles.

Encontrar las causas principales

La complejidad también dificulta la identificación de las verdaderas causas principales de los problemas de red. Si una API responde lentamente, puede ser el resultado de una base de datos mal indexada, una fuga de memoria o un problema de configuración. Los ingenieros de rendimiento pueden necesitar realizar un análisis de causa principal para identificar la oportunidad real de optimización.

Problemas de cola larga

Los problemas de cola larga son malas condiciones de red experimentadas por una pequeña minoría de usuarios. A menudo son causados por problemas idiosincrásicos y difíciles de detectar que evaden las prácticas normales de observabilidad. En el contexto de la ingeniería del rendimiento, estos problemas plantean un desafío porque amenazan las condiciones generales de la red, pero sus causas principales son difíciles de descubrir a través de pruebas de rendimiento normales.

Construir la infraestructura

La ingeniería del rendimiento requiere personal especializado y plataformas con capacidades avanzadas. Las pruebas de rendimiento requieren simulaciones costosas y a gran escala de las condiciones de la red. Los equipos deben comprender los sistemas lo suficientemente bien como para convertir una gran cantidad de datos de telemetría en insights aplicables en la práctica. La naturaleza flexible e iterativa de la ingeniería del rendimiento exige una estructura institucional capaz de adaptarse a los cambios rápidos.

Autores

Derek Robertson

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

Soluciones relacionadas
IBM Cloud Infrastructure Center

IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack diseñada para gestionar la infraestructura de nube privada que se ejecuta en IBM zSystems e IBM LinuxONE.

Explore Cloud Infrastructure Center
Infraestructura de TI

Ofrezca una infraestructura segura y preparada para IA en entornos de nube híbrida

Explore las soluciones de infraestructura de TI
Servicios de infraestructura

Acelere, proteja y optimice su infraestructura empresarial y de nube híbrida con la orientación de expertos de IBM Technology Expert Labs.

Conozca los servicios de infraestructura
Dé el siguiente paso

Transforme la infraestructura de su empresa con las soluciones de nube híbrida y preparadas para la IA de IBM. Explore los servidores, el almacenamiento y el software diseñados para proteger, escalar y modernizar su negocio o acceder a insights de expertos para mejorar su estrategia de IA generativa.

  1. Explore la solución de infraestructura de TI
  2. Explore IBM Cloud