Como a velocidade do disco é medida e o que é rápido? Quanto tempo demora uma cópia de 1500 GB?

11

Como a velocidade do disco é medida? Mbit ou Mbyte por segundo são lidos? O que é a média hoje e o que é rápido e o que é muito rápido no setor?

Digamos que alguém diga que demora muito para fazer uma cópia de um arquivo de 1500 GB (digamos, um arquivo de banco de dados), quanto tempo isso levaria em um sistema profissional e como isso pode ser calculado levando-se em conta a velocidade do disco. disco em conta?

    
por hol 26.11.2010 / 18:59

3 respostas

19

As velocidades dos discos são geralmente medidas em

  • Velocidade de rotação em rotações por minuto (menor a 4200rpm, depois 5400, 7200, 10k e 15k - isso não é aplicável a SSDs ou memória flash).
  • A velocidade da interface é a mais rápida que um sistema eletrônico de discos pode tentar enviar os dados para o controlador de disco (estes variam de 100MBps até SATA's 150/300/600 Mbps, Fibre Channel 2/4/8/16 Gbps e até Velocidades PCIe para armazenamento baseado em flash, como FusionIO).
  • O tempo de busca é simplesmente o tempo necessário para começar a ler ou escrever em um setor específico do disco - isso pode variar de 3 a 15 ms para discos a uma pequena fração disso para discos SSD / flash.
  • Então, chegamos à velocidade real que você pode esperar, há quatro velocidades com as quais você deve se preocupar; leitura sequencial (leitura de um bloco muito grande de dados), gravação sequencial (mesma mas escrita), leitura aleatória (obtendo dados de todo o disco) e gravação aleatória. Eles variam enormemente, mas, para discos giratórios, você pode esperar de 25 a 150 MBps para leitura e gravação sequencial e de 3 MB a 50 MP para leitura e gravação aleatórias. Os SSDs normalmente estão no intervalo de 200 MBps para operações sequenciais e geralmente um pouco menores para operações aleatórias. O FusionIO pode facilmente atingir 1GBps para todos, mas normalmente é pequeno e caro.

Como você pode ver, não há uma média real. Se você quiser recomendações sobre o que comprar, sinta-se à vontade para nos informar o máximo de informações possível - isso deve incluir orçamento , tipo de aplicação, tamanho do conjunto de dados, base de usuários, hardware / SO mais qualquer outra coisa que você acha que seria útil.

Quanto à sua cópia de 1.5TB, bem, se você estiver fazendo isso com um disco SATA 7200rpm conectado por USB 2, você deve obter pelo menos 30MBps-40MBps ou então o 1.5TB completo pode levar mais de 10 horas. Se este fosse um típico sistema DAS / SAN profissional, eu esperaria na região de 100MBps, o que significa que levaria cerca de 3 horas.

Espero que isso ajude, oh e apenas para esclarecer, MB = megabytes, Mb é megabits.

    
por 26.11.2010 / 19:21
8

Existem muitas, muitas variáveis envolvidas nesses tipos de cálculos. Os sistemas de disco do mundo real têm muitas interdependências. Apenas dentro de um único computador:

  • Velocidade nominal real da própria unidade (geralmente as RPMs, 5200, 7200, 10K, 15K)
  • O sistema de arquivos em uso
  • Se um sistema RAID está em uso ou não
    • Se for, o desempenho do cartão RAID
    • O tipo de RAID
  • O sistema operacional em uso
  • As operações de leitura e gravação têm características de desempenho completamente diferentes
  • A proporção de leitura / gravação para operações
  • Para operações sequenciais, o fator de fragmentação do armazenamento

Como você pode ver, a velocidade de um disco em si é apenas um dos muitos fatores. É um fator bastante amplo, mas ainda é um dos muitos. Se essa cópia de 1,5 TB estiver no mesmo disco, o disco (com 95% de probabilidade) estará executando um desempenho de leitura / gravação aleatório de 100%, o que geralmente se transforma nas piores métricas de desempenho. Se a cópia for de um disco para outro e os dados forem 100% sequenciais e o disco de destino estiver completamente vazio, isso deverá ter o desempenho mais rápido possível com esse subsistema de disco. O desempenho do mundo real estará em algum lugar entre esses dois extremos.

Se você estiver copiando entre dois servidores separados, haverá ainda mais fatores envolvidos.

Eu tenho uma matriz de armazenamento no trabalho que pode saturar canais SAS 3Gb (gigaBIT) ao fazer operações amplamente sequenciais. Se eu tivesse 6Gb SAS, provavelmente poderia ficar muito perto de saturar aqueles também. Para E / S aleatória, esse sistema em particular funciona de forma muito diferente com base no que o SO é (o OpenSolaris, por exemplo, teve a pior E / S aleatória e o Linux XFS o melhor por um fator de 3).

Existem muitas variáveis para responder a essas perguntas definitivamente.

    
por 26.11.2010 / 19:21
3

O tempo que os dados demoram 1.5TB a copiar depende muito do tipo de dados. Se você tiver uns 1.500 arquivos de 1GB, provavelmente levará apenas algumas horas, mas se você tiver um bilhão e meio de arquivos de 1KB, provavelmente levará dias.

Isso se deve a duas especificações concorrentes em discos: a taxa de transferência e o tempo médio de acesso. Um disco tradicional com taxa de transferência de 100MB / s e tempo de acesso de 10ms é bastante comum. Se você puder transmitir dados sequencialmente, poderá obter 100 MB / s. No entanto, se você precisar pular para outro lugar, leva 10ms. Se você estivesse fazendo streaming, poderia ter escrito 1 MB de dados no tempo necessário para pular para outro local.

A criação de um arquivo pode levar várias buscas, fazendo com que um arquivo de 1 KB possa "custar" tanto quanto transmitir vários MB de dados.

Portanto, em alguns casos, é melhor fazer uma cópia bruta do disco do que copiar no sistema de arquivos por meio de algo como o rsync. Se você tiver muitos arquivos, em um sistema de arquivos que esteja, digamos, 50% ou mais cheio, geralmente é melhor copiar apenas o dispositivo de bloco completo via "dd", até o tempo que leva. Claro, você não pode fazer isso enquanto o sistema de arquivos estiver montado, então isso também tem desvantagens.

Os SSDs podem ajudar a atenuar isso, porque seus tempos de acesso são cerca de 100 vezes mais rápidos, mas os drives SSD MLC têm problemas de acesso complicados, dependendo da disponibilidade de um conjunto de blocos pré-apagados. Os SSDs do SLC podem ajudar nisso.

Controladores RAID com cache embutido podem ajudar com as buscas, assim como algo como o módulo kernel do flashcache que permite armazenar em cache um dispositivo de bloco através de um SSD.

Os sistemas RAID podem permitir várias buscas paralelas, reduzindo efetivamente o tempo médio de acesso e também a paralelização para aumentar o throughput. Mas o desempenho geral geralmente dependerá de quantos arquivos estão envolvidos.

    
por 26.11.2010 / 23:09