ProHoster > Blog > Administración > Como avaliar o rendemento do almacenamento en Linux: benchmarking usando ferramentas abertas
Como avaliar o rendemento do almacenamento en Linux: benchmarking usando ferramentas abertas
В derradeira vez falamos de ferramentas de código aberto para avaliar o rendemento do procesador e da memoria. Hoxe falamos de benchmarks para sistemas de ficheiros e sistemas de almacenamento en Linux: Interbench, Fio, Hdparm, S e Bonnie.
Fio (son as siglas de Flexible I/O Tester) crea fluxos de E/S de disco para avaliar o rendemento dun sistema de ficheiros Linux. A utilidade tamén se pode executar en Windows - cómpre instalar a interface de liña de comandos Cygwin. A guía de configuración está en repositorios fio en GitHub.
Autor fio - Jens Axbo (Jens Axboe), responsable para o subsistema IO en Linux e desenvolvedor de utilidades traza negra para rastrexar as operacións de E/S. Creou fio, porque estou canso escribir programas para probar cargas específicas manualmente.
A utilidade calculará IOPS e o rendemento do sistema e tamén lle permitirá estimar a profundidade da cola de operacións de E/S. A utilidade funciona con ficheiros especiais (extensión .fio) nos que se especifican a configuración e as condicións de proba. Hai varias opcións de proba, por exemplo, hai escritura aleatoria, lectura e sobrescritura. Aquí exemplo contido do ficheiro para o primeiro caso:
A utilidade foi escrita polo desenvolvedor canadense Mark Lord en 2005. Ela aínda apoiado polo autor e forma parte de moitas distribucións populares. O propósito principal de hdparm é configurar os parámetros da unidade. Pero a ferramenta unha lata utilízase para referencias sinxelas, como a velocidade de lectura. Para iso, escriba o comando na consola:
$ sudo hdparm -t /dev/sdb
O sistema xerará unha resposta como esta:
Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec
En canto á configuración de unidades, hdparm permítelle cambiar o tamaño da memoria caché, modificar o modo de suspensión e a configuración de enerxía e tamén borrar de forma segura os datos do SSD. Pero como avisar Os expertos de ArchLinux, cambiar descoidadamente os parámetros do sistema pode facer que os datos do disco sexan inaccesibles e mesmo danar a unidade. Antes de traballar con hdparm, é mellor ler o manual; só tes que escribir o comando man hdparm na consola.
Todos os benchmarks son scripts bash, avaliadores rendemento do sistema de almacenamento: rendemento, latencia, rendemento do programador. Por exemplo, o benchmark throughput-sync.sh "bombardea" o sistema de almacenamento con solicitudes de lectura ou escritura (neste caso, utilízase a xa mencionada utilidade fio). Aquí código para este script.
Outro script - comm_startup_lat.sh - mide a latencia da lectura de datos do disco cando a caché está "fría" (cando non contén os datos necesarios). Código tamén pódese atopar no repositorio.
Unha utilidade para avaliar o rendemento do sistema de ficheiros, desenvolvida en 1989. O seu autor foi o enxeñeiro Tim Bray. Coa axuda de Bonnie planificou optimizar funcionamento dos sistemas informáticos implicados no proxecto Novo Oxford English Dictionary na Universidade de Waterloo.
Bonnie cumpre lectura aleatoria e escritura de datos no disco. Despois, a utilidade mostra parámetros como o número de bytes procesados por CPU-segundo, así como o nivel de carga do procesador como porcentaxe. O código fonte de referencia está dispoñible atopar en Google Code.
Baseado en Bonnie, constrúese outro conxunto de ferramentas para probar discos duros: Bonnie++ (escrito en C++ en lugar de C). Ofrece ferramentas de referencia adicionais. Por exemplo, zcav para avaliar o rendemento das distintas zonas do disco duro. Tamén Bonnie++ encaixa para probar servidores de correo e bases de datos.
Desenvolveu a utilidade Con Kolivas (Con Kolivas), anestesista australiano que é coñecido polas súas contribucións ao desenvolvemento do núcleo Linux e traballar en "planificador do procesador xusto" Interbench axúdache a configurar o programador de E/S e a configuración do sistema de ficheiros.
Interbench emula o comportamento do planificador da CPU ao executar tarefas interactivas. Estas tarefas interactivas poden ser traballar con audio e vídeo, executar xogos de ordenador ou simplemente arrastrar unha caixa de diálogo no sistema operativo.
O código fonte, exemplos e recomendacións para configurar a ferramenta pódense atopar en repositorio oficial en GitHub.