¿Cómo puedo probar el rendimiento de IO en Linux?Prueba del rendimiento de IO en Linux
Respuesta
herramienta: fio
enlace: http://freshmeat.net/projects/fio/
prueba de disco físico IO:
./fio examples/disk-zone-profile
conjunto de parámetros: r secuencial/w: RW = leer o rw = escribir aleatorio r/w: rw = randread o rw = randwrite
IO y el sistema de referencia de sistemas de archivos es un tema complejo. Ninguna herramienta única de evaluación comparativa es buena en todas las situaciones. He aquí una pequeña reseña acerca de las diferentes herramientas de evaluación comparativa:
bloque de almacenamiento:
- IOMeter - Altamente personalizable y permite coordinar varios clientes. Necesita una PC con Windows para la aplicación de coordinación. Desarrollado por Intel. En Linux, tome tasas máximas de antigüedad (al menos 2006.07.27 y anteriores) con una pizca de sal porque el método de envío no fue óptimo.
File System (sintético):
- FFSB - Flexible sistema de archivos de referencia. Comparativa muy clara para Linux. Buena personalización de la carga de trabajo. La evaluación comparativa de NFS (net-ffsb) es poco sólida.
- Filebench - Extremadamente potente, pero desarrollado originalmente para Solaris. El soporte de Linux no es bueno.
- sysbench - Principalmente una herramienta de evaluación comparativa de bases de datos, pero también una herramienta básica de evaluación comparativa del sistema de archivos.
- bonnie - Parece ser obsoleto.
- bonnie++ - C++ puerto de bonnie. Fácil, pero parece no ser muy personalizable.
sistema de archivos (carga de trabajo):
- Matasellos - Simula el comportamiento IO de un servidor de correo. Demasiado pequeño para estresar a los buenos sistemas IO.
Stony Brook University e IBM Watson laboratorios han publicado un artículo de revista muy recomendable en el "Transaction of Storage" las pruebas de rendimiento del sistema de archivos, en el que se presentan diferentes puntos de referencia y sus puntos fuertes y débiles: A nine year study of file system and storage benchmarking. El artículo señala claramente que los resultados de la mayoría de los puntos de referencia son al menos cuestionables.
Una nota: se cuenta la programación pregunta? Quizás no, pero tal vez lo sea. Paso mucho tiempo evaluando el rendimiento IO de los sistemas que desarrollo. Al menos para mí, las preguntas sobre cómo hacer una evaluación comparativa de estas cosas están muy relacionadas con la programación. Por favor: No cierre todas las preguntas que no estén relacionadas con el desarrollo/programación desde su punto de vista. El punto de vista de otros desarrolladores puede ser diferente.
necesita especificar lo que está probando, de lo contrario los puntos de referencia solo inducirán a error. Hay diferentes aspectos del rendimiento de E/S que debe elegir para optimizar, y diferentes parámetros con los que jugar.
Sus parámetros del sistema:
- dispositivo de almacenamiento: HDD, SSD (¿cuál?), Raid (que?)
- sistema de archivos, tamaño de bloque, el modo de diario
- archivo de caché, umbrales sucios, cantidad de la memoria
- IO planificador, sus sintonizables
- número de CPU
- versión del núcleo
Sus parámetros de prueba:
- de lectura o escritura de rendimiento?
- secuencial o aleatorio?
- 1 ¿thread o multiple?
- tamaño de las solicitudes
- optimizar el rendimiento o solicitar el retraso?
Hay un excelente programa para probar el almacenamiento de bloque IO en Unix llamado IORATE. Puede obtener una copia en iorate.org.
Puede generar IO mixto complejo, incluida la reutilización (visitas) y las zonas calientes para pruebas de almacenamiento en niveles.
iorate.org parece fuera de línea, sin embargo, las descargas están todavía disponibles en https: //sites.google.com/site/vwiorate/home – Stickley
Tome un vistazo a IOzone: http://www.iozone.org/
Si desea leer un libro blanco que ilustra el uso del mundo real en un clúster HPC, por favor ver este pdf, página 36: http://i.dell.com/sites/content/business/solutions/hpcc/en/Documents/Dell-NSS-NFS-Storage-solution-final.pdf
dd if=/dev/sda of=/dev/null
Deje que se ejecute durante unos minutos y ciérrelo con Ctrl + C. Imprimirá la velocidad de transferencia de lectura de su unidad/controlador. Esta es la velocidad de lectura máxima que puede obtener de su unidad.
sysbench
Ver http://www.howtoforge.com/how-to-benchmark-your-system-cpu-file-io-mysql-with-sysbench
Ejemplo
sysbench --test=fileio --file-total-size=150G prepare
sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
También puede probar la CPU, la memoria, hilos, y el rendimiento del servidor de base de datos,
Es impresionante.
O pruebas de software escrito en Java: http://www.dacapobench.org/
si necesita una forma rápida y sin tener que instalar nada.Este es el método que utilizo para escritura prueba de velocidad:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
Y la salida es algo como esto
[email protected]:/# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 4.86922 s, 221 MB/s
también: borrar el archivo de prueba después de esto para recuperar el espacio extra usado
Algunas explicaciones:
bs = block size
count = the no of blocks to be written
Ajuste estos parámetros para cambiar el tamaño del archivo escrito según las especificaciones del servidor y la cantidad de tiempo que desea dedicar a la escritura.
la velocidad de lectura según lo sugerido ya por gtsouk, se puede comprobar utilizando/dev/null como salida.
¡no te olvides de hacer la prueba de sudo cuando hayas terminado! –
- 1. rendimiento del zócalo en Linux
- 2. Perfiles de rendimiento en Linux
- 3. Linux File IO - Rendimiento de subprocesamiento múltiple - escribiendo en diferentes archivos
- 4. Herramienta de rendimiento/prueba del servidor web
- 5. Prueba de rendimiento del código PHP
- 6. El estado de Linux async IO?
- 7. Prueba del rendimiento del proyecto Java en Eclipse usando VisualJVM
- 8. sin bloqueo-io vs bloqueo-io el rendimiento de los datos en bruto
- 9. Utilidades de prueba de rendimiento para C++
- 10. Rendimiento del bucle de retorno de Linux con TCP_NODELAY habilitado
- 11. Prueba de referencias externas indefinidas en Linux
- 12. ¿Cómo rastrear las operaciones IO por archivo en Linux?
- 13. SQL de prueba de rendimiento consultas
- 14. Python: prueba de rendimiento, asegurando la limpieza
- 15. Rendimiento de rendimiento del rendimiento: en Smalltalk (específicamente Squeak)
- 16. rendimiento de prueba de un sitio web
- 17. Prueba de rendimiento Varias bases de datos
- 18. ¿Prueba de rendimiento para páginas ASP clásicas?
- 19. Rendimiento del rendimiento anidado en un árbol
- 20. equivalente para los contadores de rendimiento en Linux Win32
- 21. que tiene un mejor rendimiento:!! Prueba = null o nula = prueba
- 22. Uso de contadores de rendimiento de hardware en Linux
- 23. ¿Tiene ACL en Linux un impacto en el rendimiento?
- 24. Haskell IO Testing
- 25. Uso sobrecargado del rendimiento rendimiento
- 26. ¿Por qué las operaciones de alta velocidad de IO ralentizan todo en Linux?
- 27. Concepto de "Contadores de rendimiento" en Linux/Unix
- 28. Rendimiento de ASP.NET en Mono (Linux) vs IIS (Ventana)
- 29. Lea los contadores de rendimiento periódicamente en Linux
- 30. Prueba de carga/rendimiento en un sitio con autenticación Kerberos
+1 - Buena lista de herramientas y el documento Transacciones en almacenamiento es una buena referencia. Otra herramienta potencialmente útil para las pruebas de sistema de archivos basadas en red (es decir, NFS) es fstress: http://www.cs.duke.edu/ari/fstress/ –