Optimización del rendimiento y la capacidad de respuesta
Los clientes esperan sistemas de alto rendimiento y capacidad de respuesta. Esto abarca un amplio ámbito de escenarios que van desde el tiempo de arranque hasta interacciones fluidas del usuario con aplicaciones. El análisis de problemas de rendimiento requiere mucha experiencia y conocimientos específicos del dominio. Microsoft proporciona herramientas para ayudarle a abordar esta tarea compleja.
En esta guía se presenta el proceso de medición, análisis y resolución de las causas principales de los problemas de rendimiento en áreas clave. Contenido de los temas:
Uso del Kit de herramientas de rendimiento de Windows (WPT)
Capturar seguimientos del registro de seguimiento de eventos (ETL)
Retrasos en el arranque, el inicio de la aplicación y la interfaz de usuario
Análisis de uso de recursos de CPU y disco
Ruta crítica y análisis de espera
Objetivos
En esta guía se muestra cómo realizar las siguientes tareas:
Recopilación de datos relevantes para analizar problemas de rendimiento en cualquier sistema
Descripción del proceso de análisis para examinar el consumo de recursos del sistema, como CPU y disco
Identificar lo que puede afectar a la capacidad de respuesta del sistema en algunos escenarios clave de Windows
Herramientas
Windows Assessment Toolkit en ADK proporciona un conjunto de pruebas relacionadas con el rendimiento denominadas evaluaciones. Los resultados de la evaluación se usan para diagnosticar posibles problemas, de modo que el hardware y el software que desarrolle sean dinámicos y tengan un impacto mínimo en la duración de la batería, el rendimiento de inicio y el tiempo de apagado. Las mismas evaluaciones están disponibles para asociados oem/ISV/IHV, entusiastas y otros miembros de la comunidad, para establecer un marco común para medir, comparar y revisar aspectos de la calidad.
Windows Performance Toolkit consta de dos herramientas independientes: Windows Performance Recorder (WPR) y Windows Analizador de rendimiento (WPA). WPR es una herramienta de grabación eficaz que crea grabaciones de seguimiento de eventos para Windows (ETW). Puede ejecutar WPR desde la interfaz de usuario (UI) o desde la línea de comandos (CL). WPR proporciona perfiles integrados que puede usar para seleccionar los eventos que desea registrar. WPA es una herramienta de análisis eficaz que combina una interfaz de usuario flexible con amplias funcionalidades de grafos y tablas de datos que se pueden dinamizar y tener funcionalidades de búsqueda de texto completo.
Comportamiento de inicio rápido
Introducido en Windows 8, Inicio rápido es el comportamiento de arranque predeterminado. El proceso de apagado se actualizó para incluir la escritura de datos en el disco de forma que refleje cómo funciona la hibernación. Durante el arranque, el sistema pasa por las fases que se describen en la tabla siguiente.
Fase | Descripción |
---|---|
Inicialización del BIOS | El tiempo que tarda el sistema operativo en inicializar el BIOS, incluido el entorno de ejecución previo al arranque (PXE). |
Hiberfile Read | El tiempo que tarda el sistema operativo en leer el archivo hiberfile del disco. El hiberfile contiene todo el contexto del sistema tal y como se escribe durante el apagado. |
Reanudar dispositivos | El tiempo que tarda el sistema operativo en reanudar los dispositivos y volver a colocarlos en el estado de energía activo. |
Reanudar WinLogon | El tiempo que tarda el sistema operativo en reanudar el proceso de Winlogon. |
Inicialización del Explorador | El tiempo que tarda el sistema operativo en inicializar el shell de Windows (explorer.exe). Esta fase finaliza cuando el escritorio o la pantalla Inicio son visibles para el usuario. |
Duración de post on/off | El tiempo que Windows tarda en completar todas las tareas de inicio después de que aparezca el escritorio, pero hasta que el recurso de CPU y disco se vuelva inactivo. |
Para obtener más información sobre el comportamiento de inicio rápido, vea el tema Rendimiento de transición activado/desactivado en MSDN.
Programación de CPU y subprocesos
Dado que el número de procesadores de un sistema está limitado, todos los subprocesos no se pueden ejecutar al mismo tiempo. Windows implementa el uso compartido de tiempo del procesador, que permite que un subproceso se ejecute durante un período de tiempo antes de que el procesador cambie a otro subproceso. El acto de cambiar entre subprocesos se denomina conmutador de contexto y lo realiza un componente de Windows denominado distribuidor. Cada subproceso existe en un estado de ejecución determinado en un momento dado. Windows usa tres estados relevantes para el rendimiento: En ejecución, listo y en espera.
Los subprocesos que se ejecutan están en estado En ejecución . Los subprocesos que se pueden ejecutar, pero que actualmente no se están ejecutando, están en estado Listo . Los subprocesos que no se pueden ejecutar (porque están esperando un evento determinado) están en estado Waiting . En la ilustración siguiente se muestran las posibles transiciones de subproceso.
Un subproceso en estado En ejecución inicia una transición al estado Waiting llamando a una función de espera, como WaitForSingleObject o Sleep(> 0).
Una operación de subproceso o kernel en ejecución prepara un subproceso en estado Waiting (por ejemplo, SetEvent o expiración del temporizador).
El distribuidor programa un subproceso en estado Listo para su procesamiento cuando un subproceso en ejecución espera o llega al final de su quantum de ejecución.
Un subproceso en estado En ejecución se desactiva y coloca en el estado Listo por el distribuidor cuando el distribuidor lo adelanta un subproceso de prioridad más alta o cuando finaliza su quantum.
El estado del subproceso se convierte en un factor importante en el rendimiento solo cuando un usuario espera a que un subproceso complete una operación.
Para obtener más información sobre la programación de CPU, consulte el tema Análisis de CPU en MSDN.
Ejercicios
Esta guía consta de los ejercicios siguientes.