Rendimiento de E/S de Disco de Prueba de Linux y Unix Con el Comando dd

¿Cómo puedo usar el comando dd en Linux para probar el rendimiento de E/S de mi unidad de disco duro? ¿Cómo puedo comprobar el rendimiento de un disco duro, incluida la velocidad de lectura y escritura en un sistema operativo Linux? ¿Cómo puedo usar el comando dd en la prueba de rendimiento de E/S de Linux?
Puede utilizar los siguientes comandos en sistemas Linux o Unix para realizar pruebas de rendimiento de E/S secuenciales simples:

  • orden dd : Se utiliza para supervisar el rendimiento de escritura de un dispositivo de disco en un sistema similar a Linux y Unix.
    Detalles del tutorial
    Dificultad Intermedio (rss)
    Privilegios de root
    Requisitos dd
    Tiempo 15m
  • comando hdparm: Se utiliza para obtener/establecer parámetros del disco duro, incluida la prueba del rendimiento de lectura y almacenamiento en caché de un dispositivo de disco en un sistema basado en Linux.

En este tutorial aprenderá a usar el comando dd para probar el rendimiento de E/S de disco .

Use el comando dd para supervisar el rendimiento de lectura y escritura de un dispositivo de disco:

El comando dd es útil para averiguar el rendimiento de E/S secuenciales simples.

Descripción de las opciones de comandos dd

En este ejemplo, estoy utilizando una matriz RAID-10 (Adaptec 5405Z con SSD SAS) que se ejecuta en un servidor Ubuntu Linux 14.04 LTS. La sintaxis básica es la siguiente para averiguar el rendimiento del servidor:

Salidas de muestra:

Fig.01: Servidor Ubuntu Linux con RAID10 y rendimiento del servidor de pruebas con dd

Tenga en cuenta que se escribió un gigabyte para la prueba y 135 MB/s de rendimiento del servidor para esta prueba. Donde,

  • if = /dev / zero (if = / dev / input.archivo): El nombre del archivo de entrada desde el que desea leer.
  • de = / tmp / test1.img (of = / ruta / a / salida.archivo): El nombre del archivo de salida que desea que dd escriba la entrada.archivo a.
  • bs = 1G (bs = tamaño de bloque): Establezca el tamaño del bloque que desea que use dd. se escribió 1 gigabyte para la prueba. Tenga en cuenta que Linux necesitará 1 GB de espacio libre en RAM. Si su sistema de prueba no tiene suficiente RAM disponible, use un parámetro más pequeño para bs (como 128 MB o 64 MB, etc.).
  • count=1 (count=número de bloques): El número de bloques que desea que dd lea.
  • oflag=dsync (oflag = dsync): Utilice E/S sincronizadas para datos. No omita esta opción. Esta opción elimina el almacenamiento en caché y te da resultados buenos y precisos
  • conv = fdatasyn: De nuevo, esto le dice a dd que requiera una «sincronización» completa una vez, justo antes de que salga. Esta opción es equivalente a oflag=dsync.

Encontrar el tiempo de latencia del servidor

En este ejemplo, se escribieron 512 bytes mil veces para obtener el tiempo de latencia del servidor RAID10:

dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync

Salidas de muestra:

1000+0 records in1000+0 records out512000 bytes (512 kB) copied, 0.60362 s, 848 kB/s

Tenga en cuenta que el rendimiento del servidor y el tiempo de latencia también dependen de la carga del servidor/aplicación. Por lo tanto, le recomiendo que ejecute estas pruebas en un servidor recién reiniciado, así como en la hora punta para tener una mejor idea de su carga de trabajo. Ahora puedes comparar estos números con todos tus dispositivos.

Pero, ¿por qué el rendimiento del servidor y el tiempo de latencia son tan bajos?

Los valores bajos no significan que esté utilizando hardware lento. El valor puede ser bajo debido a la caché del controlador RAID10 de HARDWARE.

Use el comando hdparm para ver la velocidad de lectura del disco almacenado en búfer y en caché

Le sugiero que ejecute los siguientes comandos 2 o 3 veces Realice tiempos de lectura de dispositivos para fines de comparación y comparación:

### Buffered disk read test for /dev/sda ##hdparm -t /dev/sda1## OR ##hdparm -t /dev/sda

Para realizar la sincronización de caché en las lecturas de referencia y de comparación de los efectos de volver a ejecutar de nuevo el comando siguiente 2-3 veces (nota: la opción-T):

## Cache read benchmark for /dev/sda ###hdparm -T /dev/sda1## OR ##hdparm -T /dev/sda

O combinar ambas pruebas:

hdparm -Tt /dev/sda

ejemplos de productos:

Fig.02: Comando Linux hdparm para probar el rendimiento del disco de lectura y almacenamiento en caché

Tenga en cuenta de nuevo que, debido a las operaciones de almacenamiento en caché de sistemas de archivos en archivos, siempre verá altas tasas de lectura.

Use el comando dd en Linux para probar la velocidad de lectura

Para obtener datos de prueba de lectura precisos, primero deseche las cachés antes de realizar la prueba ejecutando los siguientes comandos:

flushecho 3 | sudo tee /proc/sys/vm/drop_cachestime dd if=/path/to/bigfile of=/dev/null bs=8k

Ejemplo de portátil Linux

Ejecute el siguiente comando:

Ejemplo de Apple OS X Unix (Macbook pro)

GNU dd tiene muchas más opciones, pero el comando OS X/BSD y dd tipo Unix deben ejecutarse de la siguiente manera para probar la E/S de disco real y no la opción de sincronización de agregar memoria de la siguiente manera:

## Run command 2-3 times to get good results ###time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync"

Salidas de muestra:

1024+0 records in1024+0 records out104857600 bytes transferred in 0.165040 secs (635346520 bytes/sec) real0m0.241suser0m0.004ssys0m0.113s

Así que estoy obteniendo 635346520 bytes (635.347 MB/s) de velocidad de escritura en mi MBP.

¿No es fan de las herramientas de línea de comandos??

Puede utilizar la utilidad de discos (gnome-disk-utility) en un sistema basado en Linux o Unix para obtener la misma información. La siguiente captura de pantalla se ha tomado de mi máquina virtual Fedora Linux v22 y escritorio Ubuntu 20.04:

Método gráfico

Haga clic en «Actividades» o presione la tecla «Super» para cambiar entre la vista general de Actividades y el escritorio. Tipo «Discos»

Fig.03: Inicie Gnome disk utility

Seleccione su disco duro en el panel izquierdo y haga clic en el botón Configurar y haga clic en «Partición de referencia»:

Fig.04: Disco/partición de Benchmark

Finalmente, haga clic en el botón «Iniciar Benchmark Benchmark»( puede ser promovido para el nombre de usuario y contraseña de administrador):

Fig.05: Resultado final de referencia

Herramienta de discos en ejecución bajo Ubuntu 20.04 LTS:

  1. Primero, abra discos desde la vista general de actividades.
  2. A continuación, elija el disco de la lista en el panel izquierdo.
  3. Seleccione el botón de menú y seleccione Benchmark disk from en el menú.
  4. Haga clic en Iniciar Benchmark Benchmark y ajuste la Velocidad de transferencia y los parámetros de Tiempo de acceso según lo desee.
  5. Finalmente, haga clic en Iniciar evaluación comparativa para probar qué tan rápido se pueden leer los datos desde el disco. Es posible que se requieran privilegios administrativos. Introduzca su contraseña o la contraseña de la cuenta de administrador del sistema solicitada.

Pruebe el rendimiento de su disco duro usando ‘Discos’

¿Qué método y comando recomienda usar para probar el rendimiento de E/S de disco?

  • Recomiendo el comando dd en todos los sistemas tipo Unix (time sh-c «dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync»))
  • Si está utilizando GNU/Linux, use el comando dd (dd if=/dev/zero of=/tmp/testALT.img bs = 1G count=1 conv=fdatasync)
  • Asegúrese de ajustar los argumentos count y bs según su configuración para obtener un buen conjunto de resultados.
  • El método GUI se recomienda solo para usuarios de computadoras portátiles Linux/Unix que ejecutan escritorio Gnome 2 o 3.
  • Para una evaluación comparativa detallada del rendimiento de E/S, utilice el comando fio
  • Utilizamos la IOzone. Es una herramienta de referencia del sistema de archivos. El punto de referencia genera y mide una variedad de operaciones de archivos.

Conclusión

Aprendió a usar el dd bajo Linux o Unix para probar la medición de rendimiento de E/S simple y secuencial. Para una evaluación comparativa detallada del rendimiento de E/S, pruebe el «Comprobador de E/S Flexible (FIO)» para Unix o Linux. Consulte Cómo comprobar Linux La velocidad de transferencia de disco Duro IDE / SATA y las páginas de manual: hdparm (1) para obtener más información.

🐧 Por favor, apoye mi trabajo en Patreon o con una donación.
Get Obtenga los últimos tutoriales sobre Linux, Código abierto & DevOps a través de RSS o boletín semanal por correo electrónico.
1 14 comentarios hasta el momento… agregar uno ↓
Categoría Lista de comandos de Unix y Linux
Gestión de Archivos cat
Firewall Alpine Amuro • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Network Utilities dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Gestor de paquetes apk * apt
Gestión de procesos bg * chroot * cron * repown * fg * jobs * killall * kill * pidof * pstree * pwdx * time
Buscando grep * dónde es * qué
Información de usuario grupos * id * lastcomm * last * lid / libuser-lid * logname * miembros * usuarios * whoami * who * w
WireGuard VPN Alpine * CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.