Saltar al contenido

¿Por qué el disco / sistema de archivos es tan lento?

IOPS oblako

Al copiar un archivo grande de C: a D:, E: … en el Explorador de Windows, se observa la velocidad de copia de varios megabytes por segundo (8 y más) y se pregunta «¿Por qué un disco es tan lento? Copie más rápido a mi portátil !! «

En definitiva, esta es una característica del funcionamiento de las máquinas virtuales en la nube (no solo en la nuestra), donde cada máquina virtual tiene su propia cuota (límite) de recursos informáticos. En este caso, el límite en el número de operaciones de E / S. Los límites están diseñados para evitar situaciones en las que alguien solo cargará el equipo al 100% y, por lo tanto, dificultará el trabajo de otros clientes. Aquellos. esta es la velocidad normal para su servidor en la nube.

El rendimiento del disco se mide mediante varias métricas:

  • operaciones de entrada-salida máximas por segundo (IOPS)
  • tiempo de respuesta del disco, en milisegundos (latencia, ms)
  • longitud promedio de la cola de E / S (Cola de disco promedio)
  • y finalmente, el ancho de banda, en MB / seg (ancho de banda)

Los indicadores críticos de la carga de trabajo (trabajo en programas 1C, ejecución de SQL Server, etc.) son el tiempo de respuesta y la longitud de la cola: de ellos depende principalmente la «reactividad» de los programas en el servidor.

Los valores normales de estos indicadores son:

  • tiempo de respuesta inferior a 10 ms (para puertos activos, no se respeta el fondo)
  • longitud de la cola inferior a 2

(puede comprobar estos indicadores ejecutando el «Monitor de recursos» en el servidor)

Los otros dos indicadores están estrechamente relacionados entre sí: con más IOPS, es posible más ancho de banda de disco. Sin embargo, el tamaño de la E / S en sí también es importante.

Por ejemplo, su servidor está limitado a 1000 IOPS y para operaciones pequeñas (carga de trabajo típica de 4 a 8 KB de E / S), lo más probable es que ni siquiera sienta el impacto. Al copiar a través del Explorador de Windows, se realiza una operación de E / S de un solo subproceso con bloques de datos ya grandes (1 MB +), que el sistema de regulación «divide» en muchas operaciones de 8 KB. Es decir, una operación de lectura / escritura de 1 MB de datos se convierte en 128 operaciones por 8 KB (IOPS normalizadas https://technet.microsoft.com/ru-ru/library/dn282281.aspx) y, en consecuencia, el ancho de banda es limitado dentro de este límite: 1000/128 = ~ 8 MB / seg idealmente. También vale la pena señalar que el límite se «disparará» en caso de que la caché de Windows no se pueda utilizar: un archivo grande (no cabe en la RAM) o una lectura-escritura constante a largo plazo (copia de seguridad, optimización de la base de datos etc.). Con pequeños volúmenes de archivos al copiar, el sistema operativo usa la caché y el límite, nuevamente, no se escuchará.

Límites actuales de IOPS:

PD. También puede leer más sobre la evaluación del rendimiento del disco en el artículo https://habrahabr.ru/post/154235/

Para SQL Server: Métricas importantes de rendimiento del disco (inglés) http://www.sqlshack.com/sql-server-disk-performance-metrics-part-1-important-disk-performance-metrics/

PPS. Robocopy copia en varios subprocesos y generalmente es más rápido que el Explorador de Windows