Cuando un equipo o una aplicación empiezan a ir a trompicones, lo normal es echar la culpa a la CPU, a la RAM o incluso a la red, pero sin datos fiables es muy fácil equivocarse de diagnóstico. Windows Performance Recorder (WPR) y Windows Performance Analyzer (WPA) permiten capturar y visualizar con muchísimo detalle qué está pasando en el sistema exactamente durante esos picos de carga o caídas de rendimiento.
Lejos de ser herramientas solo para gurús, WPR y WPA pueden encajar perfectamente en el día a día tanto de desarrolladores como de administradores o usuarios avanzados. Si se combinan con otras utilidades como Visual Studio, Application Insights, PerfView, scripts como PerfCollect o incluso el propio Administrador de tareas, se obtiene un arsenal muy potente para localizar cuellos de botella de CPU, memoria, disco, GPU, red o dependencias externas.
Qué es Windows Performance Recorder y cómo encaja en el ecosistema de diagnóstico
Windows Performance Recorder forma parte del Windows Performance Toolkit (WPT), un conjunto de herramientas de Microsoft orientadas a la captura y el análisis de rendimiento a nivel de sistema operativo. WPT incluye dos piezas principales:
- WPR. Se encarga de grabar el rastro de eventos.
- WPA. La interfaz gráfica donde luego se abre y se estudia ese rastro.
WPR se basa en la infraestructura de Event Tracing for Windows (ETW), el sistema de trazas de nivel kernel integrado en Windows. Cada sesión de grabación se guarda en un archivo con extensión .etl (Event Trace Log), que es el que después abriremos con WPA para estudiar el comportamiento del sistema y de las aplicaciones con una enorme granularidad.
Para controlar qué se registra, WPR utiliza archivos de perfil con extensión .wprp. En ellos se define el conjunto de proveedores y eventos, la frecuencia de muestreo, el nivel de detalle, etc. Gracias a estos perfiles se puede adaptar la captura a escenarios concretos.
Por su parte, Windows Performance Analyzer es la herramienta gráfica que permite abrir los .etl y explorar la información como gráficos de tiempo, tablas jerárquicas, líneas de tiempo correlacionadas y vistas específicas para CPU, memoria, E/S, red y muchos otros subsistemas. WPA es muy flexible. Permite ordenar datos por diversos campos, hacer zoom temporal, agrupar por hilos, procesos, módulos, pilas de llamadas, etc.

Conceptos y terminología clave antes de grabar seguimientos
Antes de lanzarse a grabar seguimientos, conviene dominar una serie de términos básicos que vas a ver constantemente en la documentación y en las propias herramientas. Conocer esta jerga te permite interpretar mejor los resultados y no perderte entre siglas.
El primer término clave es ETW (Event Tracing for Windows). Se trata del mecanismo de seguimiento de eventos de nivel kernel integrado en Windows. Gracias a ETW, tanto el núcleo del sistema como muchas aplicaciones y componentes pueden emitir eventos de forma eficiente y de bajo impacto.
Cuando estos eventos se vuelcan a disco, se almacenan en un archivo de registro de seguimiento de eventos con extensión .etl. Cada vez que se realiza un seguimiento con WPR, el resultado típico es un fichero de este tipo, que después podremos analizar con WPA u otras herramientas compatibles, como PerfView.
La propia aplicación que inicia y detiene la grabación se denomina WPR (Windows Performance Recorder). Este grabador acepta como entrada uno o varios perfiles .wprp, que especifican qué eventos se van a recoger y con qué configuración. Es habitual seleccionar perfiles predefinidos para CPU, E/S, gráficos o uso general del sistema.
Por último, WPA (Windows Performance Analyzer) es la interfaz gráfica que abre los .etl y permite navegar por los datos, ordenarlos, filtrarlos y correlacionarlos. Desde WPA puedes profundizar en qué hilos están saturando la CPU, qué procesos generan más E/S de disco, qué dependencias externas están provocando latencias, o cómo se reparte el tiempo entre distintas operaciones en una aplicación.
Uso de WPR y WPA para detectar cuellos de botella de CPU y sistema
En entornos industriales, de backend o simplemente en estaciones de trabajo exigentes, los picos de CPU (“spikes”) son uno de los síntomas de rendimiento más habituales. WPR y WPA son especialmente útiles para capturar lo que pasa durante esos picos y entender qué los provoca.
El flujo de trabajo habitual consiste en usar WPR para iniciar la captura justo antes de que se reproduzca el problema, ya sea desde la interfaz gráfica o desde línea de comandos, y detenerla en cuanto se haya manifestado el spike o la anomalía de rendimiento. De esta forma, el archivo .etl resultante refleja exactamente el comportamiento del sistema en la ventana crítica.
Después, se abre ese archivo con WPA, que ofrece una interfaz visual muy intuitiva para inspeccionar los datos. Se pueden consultar gráficos temporales de CPU, consumo de memoria, E/S y otros contadores, y luego descender desde la vista global del sistema hasta procesos concretos, hilos específicos e incluso pilas de llamadas que explican qué código estaba ejecutándose en cada momento.
Analizando con calma esos patrones es posible identificar cuellos de botella reales. Por ejemplo, un hilo que monopoliza la CPU, una rutina concreta que se ejecuta con demasiada frecuencia o una sección crítica mal diseñada. En ámbitos como el soporte a motores industriales o software de control, este tipo de análisis detallado es clave para mantener la competitividad y evitar paradas de producción.

Diagnóstico de aplicaciones .NET y ASP.NET Core: Visual Studio, Application Insights y PerfView
En el ecosistema .NET, además de WPR y WPA, existen herramientas específicas que encajan muy bien cuando el objetivo es diagnosticar problemas de rendimiento en aplicaciones ASP.NET Core o servicios backend .NET. Muchas de ellas se complementan con los seguimientos a nivel de sistema.
Las herramientas de generación de perfiles integradas en Visual Studio son una primera parada muy cómoda. Desde el propio entorno de desarrollo se puede analizar el uso de CPU, la asignación de memoria, el comportamiento del recolector de basura y ciertos eventos de rendimiento dentro de la aplicación. Al estar integradas, facilitan mucho el trabajo en fase de desarrollo y pruebas.
Cuando el escenario ya se desplaza hacia producción o entornos distribuidos, entra en juego Azure Application Insights. Este servicio de telemetría recopila automáticamente diversos datos, tanto en ASP.NET Core como en otros stacks.
Uno de sus elementos más interesantes es el mapa de aplicación,. Se trata de una vista que enseña todos los componentes de una arquitectura distribuida y permite detectar de un vistazo los puntos conflictivos o cuellos de botella de rendimiento entre servicios. A esto se le suma el Explorador de métricas de Azure, que facilita graficar métricas, correlacionar tendencias y profundizar en picos o caídas de valores.
La hoja de rendimiento de Application Insights ofrece una visión por operación: muestra el tiempo de cada acción de la aplicación, permite profundizar en una operación concreta y ver todas las dependencias que contribuyen a que tarde demasiado, e incluso desde esa misma vista se puede invocar el Profiler de Application Insights para capturar seguimientos detallados de rendimiento a demanda.
PerfView y PerfCollect: análisis profundo en .NET y escenarios Linux
Cuando se necesita exprimir al máximo el diagnóstico en aplicaciones .NET, conviene echar mano de PerfView, una herramienta creada por el propio equipo de .NET específicamente para analizar rendimiento. PerfView es capaz de estudiar el uso de CPU, la memoria, el comportamiento del recolector de basura (GC), los eventos de ETW y el tiempo de reloj con un nivel de detalle muy fino.
Un aspecto especialmente potente de PerfView es su capacidad para abrir y analizar archivos .etl generados con WPR, permitiendo estudiar las pilas de llamadas y el coste de cada función. Microsoft mantiene una guía de usuario muy completa disponible desde la propia herramienta y en GitHub, donde se explican casos de uso, comandos y flujos de trabajo recomendados.
El gran inconveniente es que PerfView solo se ejecuta en Windows, de modo que no se puede lanzar directamente en servidores Linux donde corran aplicaciones ASP.NET Core. Para salvar esta limitación, la comunidad y el equipo de .NET ofrecen PerfCollect, un script Bash que usa herramientas nativas de Linux como perf y LTTng para capturar seguimientos compatibles.
El flujo en este caso consiste en ejecutar PerfCollect en el entorno Linux donde se manifiesta el problema de rendimiento, recopilar el seguimiento y trasladar el archivo resultante a un equipo Windows. Desde ahí, se abre con PerfView para realizar el análisis en profundidad de pilas de llamadas, uso de CPU y comportamiento del GC.
En GitHub se puede encontrar información detallada sobre cómo instalar PerfCollect, cómo arrancar y detener las sesiones de trazas, y cómo interpretar los resultados combinándolo con PerfView y otras herramientas de diagnóstico.
Análisis de cuellos de botella en HoloLens y dispositivos a través de WPA
El seguimiento de rendimiento no se limita a servidores y PCs de escritorio; también es especialmente útil en dispositivos como HoloLens, donde el margen térmico y de recursos es más ajustado. Localizar procesos que disparan la temperatura o hilos que saturan la CPU es fundamental para mantener una experiencia fluida de realidad mixta.
En estos escenarios, se utiliza igualmente la infraestructura de ETW. HoloLens puede generar seguimientos mediante la Grabadora de rendimiento de Windows, guardándolos como archivos .etl que luego se abren con WPA desde un PC de análisis. De esta forma se pueden visualizar cuellos de botella de hardware o software, como sobrecalentamientos o procesos especialmente exigentes.
Para disponer de WPA, basta con descargar la aplicación desde Microsoft Store o instalar el Windows Performance Toolkit a través del Kit de evaluación e implementación de Windows (ADK). El kit incluye también otras herramientas de depuración y diagnóstico general para la plataforma.
La captura en HoloLens se realiza a través del Device Portal. Desde el menú lateral se accede al apartado de “Seguimiento del rendimiento”, se escoge un perfil predefinido o se carga uno personalizado, se pulsa en “Iniciar seguimiento” y se reproduce el escenario problemático. Cuando se haya capturado lo necesario, se detiene el seguimiento y el portal muestra el rastro en la parte inferior de la página.
Ese archivo ETL se puede descargar directamente, abrirlo en WPA en el equipo de análisis, o bien compartirlo con otra persona para que realice el estudio en su entorno. Una vez en WPA, es posible aplicar perfiles de análisis específicos y centrarse en CPU, memoria, GPU o cualquier otro subsistema relevante para la experiencia de realidad mixta.
Preparación de archivos y perfiles para el análisis con Windows Performance Analyzer
Para que el análisis en WPA sea realmente efectivo, conviene organizar bien los recursos necesarios alrededor del archivo .etl. Es recomendable crear una carpeta con el seguimiento, los símbolos y los perfiles de WPA que se vayan a utilizar, de forma que la herramienta tenga fácil acceso a todo.
Un ejemplo típico de estructura de trabajo sería disponer en la misma carpeta del archivo de seguimiento HoloLens_trace_file.etl, un perfil de WPA como CPU_analysis.wpaProfile y una subcarpeta “Symbols” con todos los archivos .pdb necesarios ya descomprimidos. WPA puede entonces resolver las pilas de llamadas con nombres de funciones legibles, algo clave para localizar qué parte del código está generando la carga.
El flujo básico de análisis en WPA suele ser: iniciar el programa, abrir el archivo .etl desde el menú “Archivo > Abrir” y dejar que cargue los datos iniciales. Después se cargan los símbolos desde el menú de seguimiento (“Track > Load Symbols” o similar, dependiendo de la versión), apuntando a la carpeta donde están los .pdb.
Una vez WPA dispone de símbolos, se puede aplicar un perfil de análisis concreto desde el menú de perfiles, eligiendo el archivo .wpaProfile correspondiente. Este paso genera de forma automática una serie de gráficos y tablas que se muestran en la pestaña de análisis, centrados en los aspectos más relevantes para ese tipo de seguimiento (por ejemplo CPU, scheduler, E/S de disco, etc.).
A partir de ahí, el trabajo consiste en explorar esas vistas, expandir nodos, filtrar por procesos o hilos, y correlacionar lo que se ve en los gráficos con el comportamiento observado en el dispositivo. La propia herramienta incluye una pestaña de introducción muy útil y existe abundante documentación y material formativo para profundizar, incluyendo vídeos introductorios y guías paso a paso.
Principales calculadoras de cuello de botella para Windows
Entre las opciones más populares destacan algunas herramientas que, con distintos enfoques, intentan cuantificar el desajuste entre los componentes principales del sistema. No son perfectas, pero sí orientativas si se sabe leer sus resultados.
Una de las más conocidas es la calculadora de cuellos de botella de PC Builds. Su interfaz es sencilla: se elige un procesador, una tarjeta gráfica, la resolución objetivo y el tipo de uso (por ejemplo, juegos), y la herramienta calcula si la combinación va a generar cuello de botella significativo o no.
El punto fuerte de esta calculadora es que permite mezclar hardware de diferentes fabricantes con mucha facilidad y ofrece una respuesta rápida y clara sobre si la CPU limitará a la GPU o viceversa. Su principal carencia es que no tiene en cuenta el tamaño y velocidad de la RAM, factores que también influyen bastante en el rendimiento real del sistema.
Para un análisis algo más detallado se puede acudir a la calculadora de cuellos de botella de CPU Agent. A diferencia de la anterior, esta utilidad sí considera la cantidad de memoria, su velocidad, además de la CPU, la GPU, la resolución y la calidad gráfica que se piensa utilizar.
Otra ventaja de esta herramienta es que ofrece información ampliada sobre cada componente. Por ejemplo: si el procesador incluye refrigeración de serie, qué tal se comporta en distintas resoluciones, qué porcentajes de utilización se esperan, etc. Todo ello ayuda a entender mejor el conjunto y tomar una decisión informada.
En ambos casos se trata de servicios gratuitos, de uso muy simple: se seleccionan los componentes deseados, se lanza el cálculo y en pocos segundos se obtienen resultados. Eso sí, es recomendable dedicar un poco de tiempo a interpretar las conclusiones y no quedarse solo con un porcentaje global.
Cómo usar calculadoras y foros para elegir el hardware adecuado
Las calculadoras de cuello de botella, por sí solas, no deberían ser la única fuente de decisión. Sin embargo, sí son un primer filtro muy útil. Lo ideal es usarlas para acotar varias combinaciones razonables de CPU, GPU y RAM, y a partir de ahí investigar más a fondo.
Un buen complemento es acudir a los foros de los propios fabricantes de hardware o comunidades especializadas para buscar a otros usuarios que utilicen la misma combinación de componentes que estás valorando. En muchos casos ya habrá hilos abiertos con experiencias reales, benchmarks y posibles problemas detectados.
También merece la pena plantear preguntas directas: consultar si alguien ha sufrido cuellos de botella con cierto procesador y tarjeta gráfica al ejecutar el mismo software que se pretende utilizar. O pedir sugerencias de combinaciones alternativas que puedan ir mejor con el mismo presupuesto.
Además, es muy útil apoyarse en páginas de configuración de PCs personalizadas. Estas nos permiten equilibrar presupuesto, rendimiento y consumo eléctrico. Combinando la información de las calculadoras, los foros y estos configuradores se puede llegar a una compra bastante sólida y ajustada a las necesidades reales.
Con este planteamiento se consigue no solo escoger componentes correctos, sino hacerlo con bastante confianza. Sabiendo que hay usuarios con experiencias positivas y que la probabilidad de encontrarse cuellos de botella graves será mucho menor.
Cómo comprobar cuellos de botella en un PC ya montado con herramientas de Windows
Cuando el equipo ya está montado y en uso, no hace falta recurrir de inmediato a utilidades externas para detectar desequilibrios. Windows incluye el Administrador de tareas, una herramienta muy valiosa para supervisar la carga de CPU, RAM, disco, GPU y red en tiempo real.
El procedimiento básico consiste en:
- Abrir el Administrador de tareas.
- Cerrar todas las aplicaciones salvo la que se quiera analizar.
- Observar cómo evolucionan los distintos recursos mientras se ejecuta la carga de trabajo típica.
Si durante el uso de un programa concreto ves que la CPU, la memoria, el disco o la red se clavan en el 100 % de uso de forma sostenida, probablemente ese componente esté marcando el límite del sistema. Es una señal bastante clara de cuello de botella, que ayuda a decidir qué pieza conviene actualizar primero.
Un ejemplo clásico es el de un juego muy exigente cuyo requisito de procesador supera lo que ofrece la CPU instalada. En esos casos, la carga de CPU puede estar constantemente al 100 % mientras la RAM no se aprovecha tanto.
Repitiendo este tipo de pruebas con diferentes aplicaciones y cargas, se puede ir componiendo un mapa bastante realista de qué componente está frenando más el rendimiento global del equipo. Y, por tanto, cuál sería la actualización más rentable.
Todo este ecosistema de seguimiento —desde WPR y WPA hasta PerfView, Application Insights, calculadoras de cuello de botella, monitorización de red o simples vistas del Administrador de tareas— permite construir una imagen bastante precisa de dónde se está perdiendo el rendimiento. El objetivo: localizar y corregir cuellos de botella de forma mucho más rápida y efectiva. Evitando apostar a ciegas por actualizaciones costosas que luego no resuelven el problema real.
