Aí vem um pequeno e aleatório primer IO: drives de disco de 7200 RPM fazem cerca de 100 IOPS. Unidades de 15k RPM dobram isso, cerca de 200 IOPS. Com uma matriz RAID-5, a melhor IOPS alcançável possível é o número de unidades de dados de dados que geram tempo de desempenho de uma única unidade; como você tem 3 unidades de dados, o melhor valor sustentado possível que você terá, sempre, é 300 IOPS.
Use iostat -mx 5
enquanto seu backup estiver em execução. Se você vir um número de operações de leitura ou gravação (terceira e quarta colunas) no intervalo de 300, você está basicamente excedendo o limite de sua configuração.
Nota: a maioria das unidades SSD modernas atinge 20.000 IOPS. Um par de SSDs no RAID-1 pode envergonhar um rack cheio de ferrugem. O SSD muda tudo. Ao enfrentar um problema de IOPS, 99% do tempo a solução é chamada de "SSD".
Se você não está maximizando a saída da matriz RAID, há algumas coisas que você pode fazer:
-
Melhore a profundidade da fila. A profundidade da fila do kernel padrão é boa para unidades antigas antigas com caches pequenos, mas não para unidades modernas ou arrays RAID:
echo 512 > / sys / block / sda / fila / nr_requests
-
experimente agendadores de I / O diferentes. CFQ (agendador padrão para o kernel moderno) muitas vezes é péssimo com as operações do servidor:
echo 'noop' > / sys / block / sda / queue / scheduler
-
experimente o RAID-10. O RAID-10 não precisa recolher as gravações juntas e é melhor do que o RAID-5 em operações de thread único.
- Como alternativa, tente executar o máximo de threads que houver unidades de dados. Pode melhorar o desempenho geral.