Pruebe la herramienta learning-113-vdbench para probar el rendimiento de lectura y escritura del disco del servidor

Prefacio

   En el contexto de la era de los macrodatos, el almacenamiento de datos se ha convertido en el problema actual a resolver. Los principales fabricantes han lanzado sus propios sistemas de almacenamiento, como Huawei, Tencent y Baidu. Aunque tienen servicios en la nube, alojamiento en la nube y otros productos de aplicación de nivel, pero aún necesita un sistema de gestión de almacenamiento diseñado por usted mismo en la capa inferior.

Este artículo explica el uso de herramientas de prueba de rendimiento de disco y la escritura de scripts para sistemas de almacenamiento.

En el artículo anterior ya hemos hablado sobre el uso de las herramientas de Fio. Si quieres aprender, puedes consultar mi blog.

https://blog.csdn.net/u013521274/article/details/107949362

Hoy, lo que vamos a aprender es el uso de otra herramienta, vdbench. Vdbench es una herramienta similar a fio, pero es ligeramente diferente a fio.

Por ejemplo, fio tiene dos modos, lectura y escritura, pero vdbench tiene tres modos, como se muestra en la siguiente figura.

     

Vdbench tiene un modo más que Fio, crear, que significa crear un archivo. De acuerdo con la lógica normal, debe escribirse después de que se crea el archivo. Sin embargo, si el archivo es grande y el tiempo se dedica a escribir el archivo, el tiempo para crear el archivo se puede ignorar.

Por lo tanto, el modo de creación de vdbench se puede utilizar para crear una gran cantidad de archivos pequeños, porque la creación de archivos pequeños lleva tiempo crear (crear) en lugar de escribir (escribir), por lo que vdbench es para lotes grandes de archivos pequeños. la tarea es mejor que fio.

1. Instalación de la herramienta vdbench en Centos7

1.1 Preparar el entorno java

A diferencia de fio, fio se basa en el entorno c ++, mientras que vdbench se basa en el entorno java. Ya tenemos un tutorial para instalar java en centos7, puedes consultar mi blog

https://blog.csdn.net/u013521274/article/details/109539711

1.2 Instalar vdbench

Descargue el paquete vdbench. Este paquete parece ser común para Linux y Windows. Puede descargarlo de mis recursos:

https://download.csdn.net/download/u013521274/14915064

Una vez completada la descarga, cárguela en el directorio de Linux a través de winscp o xftp.

Luego descomprime y ejecuta el comando

tar -zxvf vdbench50406.zip
或者
unzip vdbench50406.zip

Puede ver el directorio descomprimido en la figura anterior.

Luego ingrese al directorio de descompresión a través del comando cd

ls vista

Ejecute el siguiente comando para verificar la disponibilidad de test vdbench:

./vdbench -t

Si ocurren las siguientes condiciones, significa que está disponible.

2. Uso de vdbench

Vdbench se utiliza para pruebas de rendimiento. A diferencia de fio, después de instalar fio, la secuencia de comandos se puede ejecutar en cualquier lugar después de escribirla.

Pero incluso si el script está escrito en vdbench, debe ejecutarse en el directorio de instalación, lo cual no es muy conveniente. Entonces, para resolver este problema

Usaremos el script .sh para anidar un archivo en la capa exterior para que podamos ejecutar nuestros comandos en cualquier lugar.

2.1 Escriba las reglas de prueba de vdbench

   Cualquiera que haya usado Fio para pruebas de rendimiento antes debe saber que actualmente estamos probando las velocidades de lectura y escritura en tamaños de bloque como 4k, 8k, 128k, 1M, 2M, 4M, 128M y 1G. También hay muchos blogs en línea.

El tutorial explica cómo usarlo, pero creo que su explicación es demasiado engorrosa, usémoslo directamente y veamos cómo escribirlo con un ejemplo práctico.

Mire la preparación de una regla de prueba de 4K.

fsd=fsd1,anchor=/mnt/test1/4k,depth=1,width=5,files=10,size=4k

fwd=fwd1,fsd=fsd1,operation=create,threads=8,xfersize=4k,fileio=sequential,openflags=o_direct

rd=rd1,fwd=fwd*,fwdrate=max,format=yes,elapsed=3600,interval=2

Hay muchos blogs para introducir fsd, fwd, rd, etc., no los repetiré, por lo general agrego 1 al final por defecto. La siguiente es una explicación de los diversos parámetros que utilicé en 4k.

Lo anterior es un script de regla de prueba de rendimiento de disco con un tamaño de bloque de 4k y modo de creación. Al mismo tiempo, también podemos escribir 8k, 1M, 1G y otros scripts de reglas para que podamos llamar

1M de lectura

fsd=fsd1,anchor=/mnt/test2/1M,depth=1,width=10,files=10000,size=1M

fwd=fwd1,fsd=fsd1,operation=read,threads=100,xfersize=1M,fileio=sequential,openflags=o_direct

rd=rd1,fwd=fwd*,fwdrate=max,format=yes,elapsed=3600,interval=2

1M de escritura

fsd=fsd1,anchor=/mnt/test2/1M,depth=1,width=10,files=10000,size=1M

fwd=fwd1,fsd=fsd1,operation=write,threads=100,xfersize=1M,fileio=sequential,openflags=o_direct

rd=rd1,fwd=fwd*,fwdrate=max,format=yes,elapsed=3600,interval=2

1G de lectura

fsd=fsd1,anchor=/mnt/test2/1G,depth=1,width=10,files=10,size=1G

fwd=fwd1,fsd=fsd1,operation=read,threads=100,xfersize=1M,fileio=sequential,openflags=o_direct

rd=rd1,fwd=fwd*,fwdrate=max,format=yes,elapsed=3600,interval=2

1G escribir

fsd=fsd1,anchor=/mnt/test2/1G,depth=1,width=10,files=10,size=1G

fwd=fwd1,fsd=fsd1,operation=write,threads=100,xfersize=1M,fileio=sequential,openflags=o_direct

rd=rd1,fwd=fwd*,fwdrate=max,format=yes,elapsed=3600,interval=2

Espera, escríbelo para que podamos llamarlo.

2.2 Ejecutar comandos anidados con el script sh

  Cuando nuestro script está escrito, se ejecuta, pero vdbench debe ejecutar comandos en su directorio de instalación, lo cual no es demasiado amigable, por lo que usamos los scripts sh para anidarlo.

Para implementar el script de prueba en cualquier lugar.

#!/bin/bash

#测试挂载目录/mnt/test1/:4k 64k 128k 512k
#            /mnt/test2/:1M 8M 128M 1G
#规则文件:  ./nfs/
#日志:     ./testlog/NFS/

mkdir -p testlog/NFS/

#**************************Sequence create/write Test*************************#

#4k create
./vdbench -f ./nfs/4k_create -o testlog/NFS/4k_create

#64k create 
./vdbench -f ./nfs/64k_create -o testlog/NFS/64k_create


date
echo "test done"

Como se muestra en el código anterior, estamos probando el rendimiento del directorio de montaje / mnt / test1.Después de escribir el archivo de reglas de prueba, lo colocamos en el directorio / nfs y el directorio de salida del registro es / testlog.

2.3 Especifique el directorio de salida del registro

Como se muestra en la figura anterior, creamos una carpeta de registro de prueba para almacenar registros antes de la ejecución, que son los resultados de nuestra prueba. Y especifique el directorio de almacenamiento de registros después de que se ejecute cada archivo de reglas.

El registro de prueba de rendimiento de vdbench no parece fio, el resultado final se muestra directamente en la línea de comandos, vdbench generará archivos HTML, debe exportar a windos para verlo más conveniente.

Habrá registros en tiempo real durante la ejecución de vdbench. (Pero no el resultado final)

3. Ejemplo de ejecución de vdbench

Después de ejecutar el script, vamos al directorio de salida del registro para ver los resultados.

Si se informa un error durante la prueba, volvemos a verificar errorlog.html, y para el resultado total, volvemos a summary.html,

apareció en summary.html   

 La ejecución de Vdbench completada con éxito representa una ejecución exitosa.

 Generalmente, el resultado es verificar el valor promedio. Por ejemplo, cuando ejecuto el modo de creación, es necesario verificar los indicadores de rendimiento de la creación.

La tasa resp dos indicadores representan la tasa de escritura y el número de lecturas y escrituras por segundo, similar a BW e iops de fio.

 

4. Resumen

  Tanto fio como vdbench tienen sus propios méritos. En términos generales, fio es un poco más fácil de usar. Vdbench es propenso a errores, especialmente en las pruebas de rendimiento a largo plazo (como una prueba de estabilidad de 3 * 24 horas), Fio se desempeña mejor.

Esto también puede deberse a que los dos dependen de diferentes plataformas de entorno. Fio puede ser más estable según el entorno de C ++.

 

Si tiene alguna pregunta, deje un mensaje y debe responder cuando lo vea.

 

 

 

Supongo que te gusta

Origin blog.csdn.net/u013521274/article/details/112756172
Recomendado
Clasificación