Estou executando um aplicativo baseado em hadoop (hadoop 1.2.1 ), onde descobri um gargalo no disco rígido; monitorar as IOPS do disco rígido com iotop resultou em ~ 160 MB / s, que foi a velocidade de gravação que obtinha comparando o disco com dd .
Procurando eliminar o gargalo, montei todo o meu hadoop HDFS e a saída dos mapeadores para tmpfs usando:
mount -t tmpfs -o size=5G none /app/hadoop
/app/hadoop é onde o HDFS é armazenado, assim como a saída intermediária dos mapeadores. O conjunto de dados de entrada no HDFS é de 680 MiB, a saída é de 318 MiB, enquanto a saída total dos mapeadores é de 2.30 GiB; todos estes divididos em 2 datanodes / tasktrackers, portanto, eu tenho espaço suficiente em RAM para o aplicativo executar e executar corretamente.
Nesta configuração, estou tentando medir o IOPS para esse diretório, ou seja, a velocidade de gravação. Como li neste tópico , as ferramentas de monitoramento tradicionais não funcionarão com tmpfs , não sendo um dispositivo de bloco. Como eu poderia medir a velocidade de gravação?
Soluções como pv , como proposto em outro thread, infelizmente não funcionariam; A alteração do código-fonte do hadoop não é uma opção viável e o pv introduz seus próprios gargalos ao gravar na RAM, conforme medi com dd .