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/ Dedicated Distributed Storage Service/ Preguntas frecuentes/ ¿Cómo puedo probar el rendimiento del disco DSS?
Actualización más reciente 2024-09-20 GMT+08:00

¿Cómo puedo probar el rendimiento del disco DSS?

Precauciones

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

Para probar el rendimiento de un disco compartido, se deben cumplir los siguientes requisitos:
  • El disco compartido debe estar conectado a varios servidores (ECSs o BMSs).
  • Si el disco compartido está conectado a varios 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é mi prueba de rendimiento de disco con Fio tiene resultados incorrectos?

Windows

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

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. Elija components >storage >disks. En el panel derecho, vea el desplazamiento de partición.

    • Si 4096 puede dividirse por el valor del parámetro, la partición está alineada de 4 KiB. Vaya a 4.
    • Si 4096 no se puede dividir por el valor del parámetro, la partición no está alineada con 4 KiB. Asegurar la alineación de 4 KiB para la partición antes de continuar con la prueba.

      Si elimina la partición y selecciona otro número de sector de inicio para la alineación de 4 KiB, perderá todos los datos de esa partición. Tenga cuidado cuando realice esta operació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 el rendimiento del disco, los parámetros para Iometer y fio son los mismos. Para obtener más información, consulte Tabla 1.

    En el ejemplo siguiente se utiliza Iometer para probar el rendimiento del disco.

    1. Establezca el flujo de trabajo.

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

      En este ejemplo, el tiempo de ejecución de la prueba se ajusta a 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. Establezca 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, la política es 100% de escritura secuencial.

    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 de inicio predeterminado no estará alineado de 4 KiB, lo que afectará enormemente el rendimiento de la prueba. Por esta razón, si se utiliza un sistema operativo de este tipo, se recomienda seleccionar un nuevo número de sector de inicio, uno que esté alineado con 4 KiB, al crear particiones.

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

Instale la herramienta de medición del rendimiento, fio, antes de la prueba.

  1. Inicie sesión en el servidor y cambie a usuario root.
  2. Antes de iniciar la prueba, ejecute el siguiente comando para comprobar si el número de sector de inicio está alineado con 4 KiB:

    fdisk -lu

    La información que aparecerá en pantalla será similar a la información 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 de sector inicial, el número está alineado con 4 KiB. Vaya a 3.
    • Si 8 no se puede dividir por el número de sector inicial, el número no está alineado con 4 KiB. Elimine la partición y seleccione un número de sector de inicio 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 sector de inicio para la alineación de 4 KiB, perderá todos los datos de esa partición. Tenga cuidado cuando realice esta operación.

  3. Ejecute los siguientes comandos y use fio para probar el rendimiento del disco:

    • Para probar 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 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 rendimiento 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 rendimiento de lectura, ejecute el 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, ejecute el 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 del 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 en el disco se convertirán en de sólo 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 con datos de servicio en él. Si dicha prueba es una necesidad, se le aconseja que realice la prueba de la siguiente manera:
        • Haga una copia de respaldo de los datos del disco antes de la prueba, ya que puede dañar 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 de parámetro

      Parámetro

      Descripción

      direct

      Define si se utiliza E/S directa.

      • Ajustado a 0: se utiliza E/S mediante búfer.
      • Ajustado a 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 usan uno o varios subprocesos en la prueba. Total concurrent I/Os of fio = iodepth x numjobs Ejemplos:

      • Si hay un único 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 x 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 x 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 (sincrónica o asincrónicamente).

      • 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 núcleo ha procesado la solicitud. Dicho esto, la profundidad de la cola de E/S de subproceso único es siempre menor que 1, y el procesamiento simultáneo de subprocesos múltiples puede usarse para manejar tales problemas. Normalmente, 16 a 32 subprocesos de trabajo simultáneos ocupan completamente la profundidad de la cola de E/S.
      • E/S asincrónica: Se entregan múltiples solicitudes de E/S usando libaio a la vez. 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 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%, indicando 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 es 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 en un solo subproceso en lugar de en todos los trabajos.

      filename

      Define el nombre del archivo o dispositivo de prueba.

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

        Si la prueba se realiza en un disco ya tiene particiones y sistemas de archivos creados, así como datos en él, 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 sobrescriben.

      name

      Define el nombre de la tarea de prueba.