Neste artigo vou fazer uma comparação entre os escalonadores BFQ e MQ-Deadline para acesso ao disco nas distribuições Arch Linux e Debian 13 para mostrar a diferença de desempenho de acordo com o hardware de disco usado.
Sequenciais (grandes arquivos): o BFQ venceu, tanto em leitura (+19 MB/s) quanto em escrita (+4 MB/s).
Aleatórios (arquivos pequenos e multitarefa): o BFQ também ficou na frente, tanto em throughput quanto em IOPS e ainda com redução da latência. O ganho não é gigante mas consistente em todos os testes. Com isso, NESSE disco o BFQ se saiu melhor que o mq-deadline em todas as métricas:
Mais rápido em sequenciais (bom para vídeos).
Mais eficiente em aleatórios (bom para multitarefa/interatividade).
Ou seja: nesse HDD de 5900 rpm o BFQ parece ser a melhor escolha para o uso cotidiano, incluindo edição leve de vídeos e tarefas de desktop.
# Converter para KB/s
local unit=$(echo "$bw" | grep -o '[KMG]iB/s')
local value=$(echo "$bw" | grep -o '^[0-9.]*')
local kb=0
case $unit in
KiB/s) kb=$(awk "BEGIN{printf \"%d\", $value}") ;;
MiB/s) kb=$(awk "BEGIN{printf \"%d\", $value*1024}") ;;
GiB/s) kb=$(awk "BEGIN{printf \"%d\", $value*1024*1024}") ;;
esac
total_bw=$((total_bw + kb))
done
echo "$sched total score (KB/s): $total_bw" >> "$SUMMARY"
# Somente o número vai para stdout
echo "$total_bw"
}
# Rodar para os dois schedulers
score_deadline=$(rodar_teste mq-deadline)
score_bfq=$(rodar_teste bfq)
echo "" >> "$SUMMARY"
if [ "$score_deadline" -gt "$score_bfq" ]; then
echo "Melhor scheduler para este sistema: mq-deadline" | tee -a "$SUMMARY"
else
echo "Melhor scheduler para este sistema: bfq" | tee -a "$SUMMARY"
fi
echo "== Teste concluído em $(date) ==" >> "$SUMMARY"
cat "$SUMMARY"
#
##
###
#### Conhecimento não vem de graça, valorize o aprendizado e a ajuda recebida! ####