Cuando mi máquina Windows Server 2008 R2 está realizando operaciones de disco grandes (copiando archivos de 10GB de una unidad a otra, copiando un archivo similar a través de la red, fusionando instantáneas HyperV, comprimiendo archivos grandes), el rendimiento de toda la máquina se ralentiza terriblemente, todo deja de responder . Esto se nota en cualquier situación cuando el acceso al disco es lo suficientemente grande como para no caber en la memoria caché.
¿Hay alguna configuración disponible para ajustar este comportamiento? Puedo aceptar una transferencia de archivos más lenta si esto me da más capacidad de respuesta.
Detalles del sistema: Dell Optiflex 960, Core 2 Quad Q9650, 8 GB de RAM, 2 unidades SATA: 320 GB (ST3320418AS) y 1 TB (ST31000528AS), NCQ activo en ambos, Intel 82564LM-3 Gigabit Ethernet, gráficos ATI HD 3450, puente Intel ICH10. Tenemos varias máquinas como esta, cada una exhibe el mismo comportamiento. Pensé que esto era excesivo para una estación de trabajo, aparentemente me equivoqué.
Actualización: supongo que no debería haber mencionado el HyperV en absoluto. La configuración anterior es una configuración de estación de trabajo estándar en la compañía para la que trabajo, este no es un servidor de ningún tipo. Tengo a lo sumo 3 máquinas virtuales funcionando, y generalmente soy la única persona que accede a ellas. Sin embargo, la desaceleración ocurre incluso cuando no se están ejecutando máquinas virtuales. En una máquina Linux, simplemente haría ionice
el proceso de copia y podría olvidarlo, ¿hay alguna forma de administrar las prioridades de E / S en Windows?
fuente
Respuestas:
Usando un servidor como computadora de escritorio ... ¿tiene instalado un elegante controlador de tarjeta de video? (sólo una sugerencia)
http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx
Actualización: en un i7 con soporte SLAT o EPT, puede hacer algo como esto {solo para máquinas virtuales} a través de RemoteFX. Pero ejecutar Aero en el host aún puede empeorar el rendimiento.
fuente
Me inclino por lo que sucede si ejecuta un servidor Hyper-V en hardware inapropiado. Tenía lo mismo en los sistemas de estaciones de trabajo reutilizados donde el presupuesto de E / S del disco ard estaba en el extremo inferior.
Desde que me mudé a un controlador de incursión adecuado en un servidor más robusto, puedo copiar esas cosas a velocidades que antes me parecían increíbles (cientos de megabytes por segundo MIENTRAS otras cosas suceden). El único problema es cuando más o menos 10 VM están haciendo su orgía de parche mensual al mismo tiempo.
Sugeriría verificar: * Tiempo promedio de respuesta del disco, normalmente y durante las operaciones * Porcentajes de disco ocupado.
Para obtener más información, publique el hardware completo: memoria, procesador, subsistema de disco y diseño.
** Actualización
Debes estar bromeando para ejecutar Hyper-V contra eso.
Aquí hay algunas configuraciones que tengo.
AMBOS (!) Tienen problemas al realizar transferencias de archivos grandes, ya que IO obtiene impuestos, aunque el más grande está limitado a la red (1 gbit hasta en 5 horas, luego 4) y todo el combo con el controlador maneja la situación MUY bien.
Un sistema de 2 discos, y el 1tb obviamente no es un disco de rendimiento, sino uno hecho para el tamaño, simplemente es como correr una carrera de fórmula 1 con un panda fiat. El controlador de bajo precio no amortiguado a bordo significa que tampoco es posible la optimización de E / S. Cuando llega la copia de su archivo, el presupuesto del disco entra totalmente en esto. Puede que quede algo para el sistema operativo, pero cualquier otra cosa ... vaya.
Según los estándares modernos, este es un servidor final LOOOOOW o una estación de trabajo decente con una gran cantidad de CPU (8 gb de RAM es una estación de trabajo de extremo superior). Los discos no son de calidad de servidor. Esto no es algo en lo que pondría un hipervisor, excepto para demostraciones. Hyper-V es como una base de datos: necesita IO. Un montón de. Porque el hipervisor mata totalmente el "acceso secuencial" y lo convierte en aleatorio, como lo es cualquier base de datos.
Debe poner las capacidades de IO apropiadas en él. Además de suficiente RAM (si la necesita), puede ejecutar mucho más en ellos, en lo que respecta a la máquina virtual: la CPU simplemente no se usa por completo. Espero que sus máquinas virtuales sean muy intensivas en CPU, de lo contrario se desperdicia.
fuente
Tuve un problema similar: Windows 2008, servidor VMware y un servidor de gama baja con unidades SATA. El rendimiento de la red y la copia local de archivos grandes fueron deficientes. Después de investigar descubrí que el modo SATA estaba en IDE emulado en la configuración del BIOS. Cambió a SATA nativo y el rendimiento aumentó ligeramente. Sin embargo, las unidades SATA no son la mejor idea para la virtualización. Tres vms y otras tareas del host significan que el acceso a las unidades será un cuello de botella.
fuente
Es posible que desee intentar descargar la mayor cantidad de IO de disco posible en una SAN externa. (Un drobo haría el trabajo bastante bien) Parece que el host simplemente no puede manejar la cantidad de E / S. También puede ser útil asegurarse de que los controladores del chipset y del controlador de disco estén instalados y actualizados.
fuente
Parece que tiene 2 unidades SATA y supongo que hay más actividad en la unidad de 1TB. No dijo qué tipo de unidades, pero también sospecharía que no son compatibles con NCQ (lo que ayudaría un poco). Claramente tienes un cuello de botella IO. El optiplex 960 como está configurado no podría manejar grandes cargas de E / S, ya que creo que los 2 discos comparten el mismo bus (el integrado es un multiplicador de puertos). Usted puede tratar de adquirir una tarjeta SATA adicional (mi sugerencia http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata- -16-318-008- -Producto) o algo similar. Intenté usar escritorios en el pasado como servidor y me encontré con dolores de cabeza similares hasta el punto de que ahora solo elegiré un servidor barato. HP tiene una serie ML 110 que comienza en $ 400 (y eso es con un Core i3). Los chipsets de servidor son casi siempre controladores sata de varios canales.
fuente
Puede ver las prioridades de E / S con el Monitor de recursos. También encontré un hilo con una herramienta para ajustarlos aquí
fuente
Comenzaría con la instalación / ejecución de Process Hacker . Es como el explorador de procesos pero mejor.
Comience a copiar un archivo y luego comience a clasificar los datos que se muestran buscando cualquier cosa que parezca extraña.
Herramientas -> Archivo de página - ¿Es enorme? ¿Cuál fue su pico? Verifique explorer.exe haciendo doble clic en Hacker de procesos y mire la pestaña Rendimiento. Así es como se veía el mío al copiar una carpeta VM (que contiene varios archivos vmdk de varios tamaños).
Mira la ventana inferior que muestra mi E / S. Observé y vi que cayó a cero cuando terminó cada archivo.
¿El pico de utilización de recursos de explorer.exe aumenta?
¿Otro proceso aumenta en su lugar? (es decir, AV escaneando el proceso de copia?)
Haga lo mismo en otro sistema con especificaciones similares y compare los resultados.
¿Se están utilizando todos sus núcleos?
Esperemos que Process Hacker le brinde una perspectiva adicional del problema.
fuente