Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Elastic Volume Service/ Preguntas frecuentes/ Rendimiento/ ¿Cómo pruebo el rendimiento de mi disco?
Actualización más reciente 2026-08-07 GMT+08:00

¿Cómo pruebo el rendimiento de mi disco?

Precauciones

En la prueba de rendimiento del disco, si el primer número de sector no está alineado con 4 KiB, el rendimiento del disco se verá muy afectado. Asegúrese de que el primer número de sector esté alineado con 4 KiB antes de iniciar la prueba.

Para probar el rendimiento de un disco compartido, se deben cumplir los siguientes requisitos:
  • El disco compartido debe estar conectado a múltiples servidores (ECS o BMS).
  • Si el disco compartido está conectado a múltiples ECS, estos ECS deben pertenecer al mismo grupo de ECS de antiafinidad.

    Si estos ECS no cumplen con el requisito de antiafinidad, el disco compartido no puede alcanzar el rendimiento óptimo.

El proceso de prueba para Windows y Linux es diferente.

Si los resultados de la prueba no cumplen con sus expectativas, consulte ¿Por qué la prueba de rendimiento de mi disco con fio tiene resultados incorrectos?

Windows

La forma en que se prueba el rendimiento del disco depende del sistema operativo del servidor. Esta sección utiliza Windows Server 2019 Standard de 64 bits como ejemplo. Para otros sistemas operativos de Windows, consulte la documentación del sistema operativo correspondiente.

Instale la herramienta de medición de rendimiento Iometer antes de la prueba. Puede obtener la herramienta en http://www.iometer.org/.

  1. Inicie sesión en el servidor.
  2. Presione win+R para abrir la ventana Run. Ingrese msinfo32 y haga clic en OK.

    Se muestra la ventana de información del sistema.

  3. Seleccione components > storage > disks. En el panel derecho, vea el desplazamiento de la partición.

    • Si 4096 se puede dividir por el valor del parámetro, la partición está alineada a 4 KiB. Acceda a 4.
    • Si 4096 no se puede dividir por el valor del parámetro, la partición no está alineada a 4 KiB. Asegúrese de que la partición esté alineada a 4 KiB antes de continuar con la prueba.

      Si elimina la partición y selecciona otro número de primer sector para la alineación de 4 KiB, perderá todos los datos de esa partición.

  4. Utilice Iometer para probar el rendimiento del disco. Para obtener más información, consulte la documentación del producto Iometer.

    Cuando se prueban las IOPS y throughput del disco, la configuración de los parámetros para Iometer y fio es la misma. Para obtener más información, consulte Tabla 1.

    El siguiente ejemplo utiliza Iometer para probar el rendimiento del disco.

    1. Configure el flujo de trabajo.

    2. Configure el tiempo de ejecución de la prueba.

      En este ejemplo, el tiempo de ejecución de la prueba se establece en 10 minutos, con un tiempo de rampa de 60 segundos. El rendimiento del disco se prueba después de que las escrituras son estables.

    3. Configure el tamaño del bloque de datos y la política de lectura/escritura. En este ejemplo, el tamaño del disco se establece en 64 KiB y la política es de escritura secuencial al 100 %.

    4. Vea los resultados de la prueba.

Linux

Si utiliza una versión antigua del sistema operativo Linux, por ejemplo, CentOS 6.5, y ejecuta fdisk para crear particiones, el número de sector inicial predeterminado no estará alineado con 4 KiB, lo que afectará en gran medida al rendimiento de la prueba. Por esta razón, si se utiliza dicho sistema operativo, se recomienda seleccionar un nuevo número de sector inicial, uno que esté alineado con 4 KiB, al crear particiones.

La forma en que se prueba el rendimiento del disco depende del sistema operativo del servidor. Esta sección utiliza CentOS 7.2 de 64 bits como ejemplo. Para otros sistemas operativos Linux, consulte la documentación del sistema operativo correspondiente.

  1. Inicie sesión en el servidor y cambie a usuario root.
  2. Instale la herramienta de prueba de rendimiento fio.

    yum install fio

  3. Antes de iniciar la prueba, ejecute el siguiente comando para comprobar si el número de sector inicial está alineado con 4 KiB:

    fdisk -lu

    Se muestra información similar a la siguiente:
    [root@ecs-centos sdc]# fdisk -lu
    
    Disk /dev/xvda: 10.7 GiB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x7db77aa5
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/xvda1   *        2048    20968919    10483436   83  Linux
    
    Disk /dev/xvdb: 10.7 GiB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/xvdc: 53.7 GiB, 53687091200 bytes, 104857600 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x3cf3265c
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/xvdc1            2048    41943039    20970496   83  Linux
    • Si 8 puede dividirse por el número del primer sector, el número está alineado con 4-KiB. Acceda a 4.
    • Si 8 no puede dividirse por el número del primer sector, el número no está alineado con 4-KiB. Elimine la partición y seleccione un número de primer sector alineado de 4 KiB para la nueva partición antes de continuar con la prueba.

      Si elimina la partición y selecciona otro número de primer sector para la alineación de 4 KiB, perderá todos los datos de esa partición.

  4. Ejecute los siguientes comandos y utilice fio para probar el rendimiento del disco:

    • Para probar las IOPS de escritura aleatoria, ejecute el siguiente comando: fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Write_IOPS_Test
    • Para probar las IOPS de lectura aleatoria, ejecute el siguiente comando: fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Read_IOPS_Test
    • Para probar el throughput de escritura, ejecute el siguiente comando: fio -direct=1 -iodepth=32 -rw=write -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Write_BandWidth_Test
    • Para probar el throughput de lectura, ejecute el siguiente comando: fio -direct=1 -iodepth=32 -rw=read -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Read_BandWidth_Test
    • Para probar la latencia de lectura aleatoria de cola única, ejecute el siguiente comando: fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=60 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Read_LATE_Test
      • Cuando utilice fio para realizar una prueba de rendimiento de disco sin procesar, asegúrese de que no se hayan creado particiones ni sistemas de archivos en el disco y de que no haya datos almacenados en el disco. O bien, la prueba de disco sin procesar dañará el sistema de archivos y los datos del disco se volverán de solo lectura. En este caso, su única opción será eliminar el disco y comprar uno nuevo para continuar con la prueba.
      • No realice la prueba en un disco que contenga datos de servicio. Si dicha prueba es obligatoria, se recomienda realizarla de la siguiente manera:
        • Haga una copia de respaldo de los datos del disco antes de la prueba, ya que es posible que dañe los datos del disco.
        • Especifique un archivo, por ejemplo -filename=/opt/fiotest/fiotest.txt, para probar el rendimiento del sistema de archivos.

      Tabla 1 enumera los parámetros de la prueba fio.

      Tabla 1 Descripción del parámetro

      Parámetro

      Descripción

      direct

      Define si se utiliza E/S directa.

      • Establecer en 0: se utiliza E/S con búfer.
      • Establecer en 1: se utiliza E/S directa.

      iodepth

      Define la profundidad de la cola de E/S.

      Esta profundidad de cola se refiere a la profundidad de cola de cada subproceso, independientemente de si se utiliza un solo subproceso o varios en la prueba. Total de E/S simultáneas de fio = iodepth × numjobs Ejemplos:

      • Si hay un solo subproceso y -iodepth=32, la profundidad de la cola de E/S de este subproceso es 32 y el total de E/S simultáneas de fio es 32 (32 × 1).
      • Si hay tres subprocesos y -iodepth=32, la profundidad de la cola de E/S de cada subproceso es 32 y el total de E/S simultáneas de fio es 96 (32 × 3).

      rw

      Define la política de lectura/escritura de prueba.

      • randread: lectura aleatoria
      • randwrite: escritura aleatoria
      • read: lectura secuencial
      • write: escritura secuencial
      • randrw: lectura/escritura aleatoria mixta

      ioengine

      Define cómo fio entrega la solicitud de E/S (de forma sincrónica o asincrónica).

      • E/S sincrónica: Solo se entrega una solicitud de E/S a la vez, y la respuesta se devuelve después de que el kernel ha procesado la solicitud. Dicho esto, la profundidad de la cola de E/S de un solo subproceso siempre es inferior a 1, y el procesamiento simultáneo de múltiples subprocesos se puede utilizar para resolver estos problemas. Normalmente, de 16 a 32 subprocesos de trabajo simultáneos ocupan por completo la profundidad de la cola de E/S.
      • E/S asincrónica: Se entregan varias solicitudes de E/S a la vez mediante libaio. Espere a que se complete el proceso y reduzca los tiempos de interacción para mejorar la eficiencia.

      bs

      Define el tamaño del bloque de E/S. La unidad puede ser KiB, Kb, MiB y Mb, y el valor predeterminado es 4 KiB.

      size

      Define la cantidad de datos procesados por las E/S de prueba. Si no se especifican parámetros, como runtime, la prueba finaliza cuando fio ha procesado toda la cantidad de datos especificada.

      El valor puede ser un número con una unidad o un porcentaje. Un número con una unidad indica la cantidad de datos de lectura/escritura, por ejemplo size=10G, que indica una cantidad de datos de lectura/escritura de 10 GiB. Un porcentaje indica la relación entre la cantidad de datos de lectura/escritura y el tamaño total de los archivos, por ejemplo size=20%, que indica que la cantidad de datos de lectura/escritura ocupa el 20 % del espacio total del archivo.

      numjobs

      Define el número de subprocesos simultáneos.

      runtime

      Define el tiempo de prueba.

      Si no se especifica este parámetro, la prueba finaliza hasta que la cantidad de datos especificada sea procesada por el tamaño de bloque definido mediante el parámetro size.

      group_reporting

      Define el modo de visualización del resultado de la prueba. El valor del parámetro muestra las estadísticas de un solo subproceso en lugar de todas las tareas.

      filename

      Define el nombre del archivo o dispositivo de prueba.

      • Si se especifica un archivo, se prueba el rendimiento del sistema de archivos. Ejemplo: -filename=/opt/fiotest/fiotest.txt
      • Si se especifica un nombre de dispositivo, se prueba el rendimiento del disco sin procesar. Ejemplo: -filename=/dev/vdb
        AVISO:

        Si la prueba se realiza en un disco que ya tiene particiones y sistemas de archivos creados, así como datos en él, el parámetro de usuario filename para especificar un archivo para que el sistema de archivos original no se dañe y los datos no se sobrescriban.

      name

      Define el nombre de la tarea de prueba.