Atualmente estou tentando configurar um cenário de teste com o uso do Debian Wheezy com seu kernel padrão 3.2.60-1+deb7u3 e o controlador cgroups blkio. O cálculo de blkio.weight não está funcionando para mim.
Minha configuração é a seguinte, tenho um cgroup raiz em /sys/fs/cgroup onde o blkio.weight padrão é 1000. Agora criei 2 subgrupos (/sys/fs/cgroup/grp1 @ blkio.weight:800, /sys /fs/cgroup/grp2 @ blkio.weight:200) que gravam em 2 volumes LVM diferentes no mesmo dispositivo físico, obtendo os seguintes resultados de fio:
grp1:
read : io=3276.2MB, bw=1224.8KB/s, iops=400 , runt=2740822msec
write: io=839516KB, bw=313651 B/s, iops=99 , runt=2740822msec
grp2:
read : io=3278.3MB, bw=1123.9KB/s, iops=365 , runt=2987186msec
write: io=837351KB, bw=287041 B/s, iops=91 , runt=2987186msec
Mas obviamente esta não é uma participação de 80% a 20%. A outra pergunta é: Ainda existe um blkio.weight de 1000. Como esse valor é usado?
Responder1
Odocumento cgroupsugere liberar todos os buffers do sistema de arquivos e liberar pagecache, dentries e inodes usando os seguintes comandos:
~]#sincronização
~]# echo 3 > /proc/sys/vm/drop_caches
É possível que você não tenha atingido o pico de IOPS. Qual dispositivo você está usando? 400 iops são normais para o seu dispositivo ou estão baixos? Aumente a profundidade de io e o número de trabalhos no FIO para atingir o pico de IOPS para o seu dispositivo.