Particionar discos rígidos em uma partição menor que o tamanho real faz com que ele tenha um desempenho melhor objetivamente?

21

Eu costumava trabalhar em um disco rígido de 80GB em 2016 e na verdade ele se sentia instável a maior parte do tempo. E depois de comprar um novo laptop com 1 TB de disco rígido e uma memória RAM muito maior e CPU mais rápida - o disco rígido realmente parecia muito mais lento que o antigo, embora fosse um disco rígido de nova geração (não tenho certeza da velocidade de rotação).

Ultimamente, decidi particionar meu HDD de 1TB em uma partição primária de 80GB e deixar o restante do espaço não alocado, pois eu realmente não preciso de nada além do SO e do navegador principal.

Depois de fazer isso - na verdade, parecia muito mais rápido do que antes, por algum motivo. O gerenciador de arquivos é executado tão rapidamente e o desempenho geral do disco rígido parece muito melhor. Quero saber se é apenas um placebo ou se é uma coisa legítima que estava acontecendo antes da era do SSD.

Eu li algo sobre "Disco curto acariciando", mas não tenho certeza se é o mesmo que fiz. Talvez meus BIOs divida primeiro o espaço nas bordas? Eu quero saber suas explicações sobre isso.

莫愁 姓
fonte
6
Essa é uma pergunta interessante, mas o RPM poderia ser um grande negócio, se um HDD comprado em 2016 tivesse apenas 80 GB de espaço de armazenamento? Provavelmente era um HDD / SSD híbrido ou era algum tipo de unidade de alta RPM (10.000 RPM, pelo menos, provavelmente mais), uma das quais teria um grande impacto no desempenho.
Cestarian
1
@ Cestarian Esse é um bom ponto. Atualmente, estou usando um desktop de extremidade relativamente baixa a partir de 2015 e ele veio com 80 GB de SSD e 1 TB de HDD. A última vez que comprei um HD de 80 GB foi em 2003. Portanto, o HD de 80 GB mencionado pode muito bem não ter sido um HDD, mas um SSD.
kasperd

Respostas:

29

Sim, o que você está fazendo é chamado de "golpe curto".

Melhora o desempenho da busca limitando o movimento da cabeça do inversor. O desempenho do disco rígido é limitado principalmente por três fatores: tempo de busca (o tempo necessário para mover as cabeças para dentro ou para fora do cilindro desejado), latência rotacional e, é claro, a taxa real de transferência de dados.

princípios

A maioria dos discos rígidos modernos de 3,5 polegadas tem tempos médios de busca na faixa de 9 a 10 ms. Depois que uma "busca" é feita, a unidade precisa aguardar o início do setor desejado. A latência rotacional média é simplesmente metade do tempo necessário para o inversor girar uma volta completa. Uma unidade de 7200 rpm gira a 120 rotações por segundo; portanto, uma rotação leva 1/120 s; portanto, meia rotação - a latência rotacional média - é de 1/240 s, ou 4,2 ms. (Observe que é o mesmo para cada disco rígido de 7200 rpm.) Portanto, temos uma média de cerca de 13 ms antes de poder começar a transferir dados.

A taxa de transferência de dados é o que a especificação da unidade diz. Nas unidades modernas, isso quase sempre é um pouco menor do que o suportado pela interface física, por exemplo, SATA 3. Observe que a parte de transferência de dados de uma operação de E / S geralmente é a parte de menor duração e as interfaces modernas quase podem ser ignoradas. Mesmo em uma unidade ATA33 antiga, a transferência de 4KiB levou apenas 1,2 ms.

A especificação do tempo de busca é uma média dos tempos de busca possíveis para várias distâncias do movimento da cabeça. Você pode ver como uma busca de um cilindro para o cilindro adjacente seria muito menor do que da mais interna para a mais externa. (Um "cilindro" é a coleção de todas as faixas acessíveis a partir de uma única posição da cabeça.) Ambas são situações atípicas. A suposição no desempenho do HD é que os dados acessados ​​serão distribuídos aleatoriamente pela unidade; portanto, o tempo de busca citado habitual de cerca de 9 ou 10 ms é uma média de várias distâncias de busca diferentes. Nas fichas técnicas mais detalhadas, alguns fabricantes listam tanto o cilindro quanto o cilindro (geralmente rotulado "trilha a trilha"), ou seja, adjacentes, o tempo de busca e o tempo máximo (de ponta a ponta), além da média.

Quando você vê os benchmarks de unidade feitos com grandes transferências "sequenciais", está vendo testes feitos com padrões de acesso a dados que minimizam o tempo de busca e a latência rotacional e maximizam a eficácia do cache interno da unidade. ou seja, lendo um único arquivo grande sequencialmente - do início ao fim - usando a leitura, por exemplo, 64 KiB de cada vez, com o arquivo ocupando um intervalo contíguo de blocos.

Então, como funciona o traço curto?

Ao criar - e somente usar - uma partição muito menor que a unidade, você mantém todos os seus dados em um intervalo estreito de possíveis cilindros (posições da cabeça). Isso reduz o tempo máximo possível de busca, portanto a média é menor. Não ajuda a latência rotacional ou taxa de transferência.

Outra maneira de ajudar é manter o uso da unidade nos cilindros de maior capacidade. HDs modernos usam "zona de gravação de bits", o que significa que há mais setores por trilha nas faixas externas do que no interior. Portanto, se os dados estiverem em cilindros externos, você poderá acessar mais dados sem mover os cabeçotes.

isso realmente funciona?

Muitos sites diferentes de entusiastas da tecnologia testaram isso. Por exemplo, consulte este artigo em Tom's Hardware . Os resultados são impressionantes: quase dobrando a taxa de E / S por segundo.

Mas isso foi feito comprando um disco rígido grande e usando apenas uma pequena fração da capacidade do disco. Isso aumenta radicalmente seu custo por GB.

No entanto, há uma solução alternativa. Você não precisa nuncause o restante da unidade para obter o benefício de velocidade. Você só precisa mantê-lo fora de uso diário quando o sistema está atingindo muito a partição principal. A maioria de nós tem alguns arquivos que acessamos muito (o sistema operacional, aplicativos e alguns dados nos quais os aplicativos trabalham) e uma quantidade muito maior de dados aos quais acessamos pouco. Por exemplo, você pode usar o restante da unidade para algum tipo de armazenamento de arquivo ou para arquivos multimídia como música e vídeo. A reprodução de mídia geralmente não é frequente, o acesso seqüencial a um único arquivo e você normalmente não está fazendo muito mais com a máquina no momento. Portanto, usar a unidade dessa maneira não tornará a reprodução de mídia pior do que se tudo estivesse espalhado por uma grande partição, e o trabalho que não envolve os dados de mídia deve se beneficiar do curto prazo.

mas é uma boa ideia?

Por outro lado ... Os testes realizados pelo TH eram benchmarks sintéticos e, para obter esses resultados, eles jogavam fora porcentagens muito altas da capacidade do disco. Os sistemas operacionais modernos trabalham bastante para otimizar o desempenho do HD. Um exemplo é a "otimização de posicionamento de arquivos" do Windows, descrita nos comentários a esta resposta. E o "toque curto" tornará isso menos eficaz. Só porque alguém obteve resultados impressionantes em um benchmark sintético não significa que "golpes curtos" é necessariamente uma boa coisa a fazer.

Pense nisso: hoje em dia, um disco rígido de 1 TB custa cerca de US $ 50. Mas você está usando apenas 80 GB dele. Você diz que precisa apenas do sistema operacional e de um navegador ... bem, por US $ 63, você pode obter um SSD Samsung de 128 GB, dando a você metade do espaço do seu desempenho de 80 GB e MUITO MAIS, não importa o quão longe você "ataca" o HD. Ou por US $ 50, você pode obter um SanDisk SSD com capacidade de 240 GB. Parece um negócio melhor do que não usar quase todo o disco rígido de US $ 50 de um terabyte.

btw

btw: Seu "BIOS" (ou UEFI) não cria partições e não tem nada a ver com onde estão as partições. Depende do utilitário de particionamento do sistema operacional. Todo sistema operacional que eu já ouvi falar usa primeiro os cilindros externos. Por exemplo, no utilitário de Gerenciamento de Disco do Windows, a exibição gráfica das partições da unidade em cada disco mostra o layout com os cilindros mais externos à esquerda. O utilitário de particionamento de disco AOMEI faz o mesmo.

Além disso, a verdadeira história: Na época em que os discos rígidos de 5,25 polegadas foram dimensionados em dezenas e centenas de MB, uma empresa chamada CDC possuía uma linha de unidades chamada série "Wren". (Esse nome foi, sem dúvida, um tapa nas unidades Fujitsu "Eagle", muito maiores fisicamente, de uma era um pouco anterior.) Por um tempo, eles também tiveram um modelo de desempenho um pouco maior, o "WrenRunner". Cerca de 90% da capacidade, 20% a mais de custo e cerca de um milissegundo diminuem o tempo médio de acesso. Após algumas experiências, ficou claro que o "WrenRunner" era apenas um "Wren", com a primeira e a última faixa bloqueadas no firmware da unidade. ou seja, você pode obter o mesmo desempenho e capacidade do Wren mais barato "acariciando", embora não tenhamos usado esse termo na época.

Jamie Hanrahan
fonte
Embora sua explicação seja razoável, o "sim" parece falso. Se você usar apenas 5% ou 10% do armazenamento disponível, qualquer driver de sistema de arquivos do sistema operacional decente alocará o armazenamento principalmente ou inteiramente dos primeiros 5 ou 10% do disco. Se alocar para além disso, evitará o uso de regiões livres muito fragmentadas e, portanto, terá um desempenho melhor. Particionar uma unidade "por desempenho" em vez de manter as coisas separadas é apenas uma idéia ridícula.
R ..
@R .. ou poderia ser para evitar repetidamente escrito no início do disco, tornando a unidade durar mais tempo, mas eu acho que é apenas se você substituir os dados muitas vezes
alguém
1
@R .. Bem ... se você já examinou a distribuição de uso em um HD grande depois de usá-lo por alguns meses ou um ano, pode ter uma idéia diferente.
Jamie Hanrahan #
2
Por outro lado, existe a Otimização de posicionamento de arquivos do Windows. Ele move deliberadamente partes de exe e dll que são acessadas juntas no tempo durante a inicialização, para ficarem juntas no disco. E como isso tenta mover esse material para um único espaço contíguo, deve ser mais eficaz onde esse espaço pode ser encontrado - ou seja, em uma unidade com muito espaço livre. (Naturalmente, o Windows não se incomoda em fazer isso em um SSD.) Portanto, concluo que a resposta "sim, melhora o desempenho do HD" ainda é válida para benchmarks - mas isso não significa necessariamente que é uma boa coisa a se fazer.
Jamie Hanrahan #
2
Aqui está um artigo sobre Otimização de posicionamento de arquivos do Windows. É claro que o Windows Internals de Solomon, Russinovich, et al é a referência da "boca do cavalo". autoitconsulting.com/site/performance/…
Jamie Hanrahan
3

Existem muitos fatores e não tenho certeza de que haja uma resposta estritamente canônica. No entanto, uma partição menor próxima à parte externa dos discos giratórios pode exibir transferências sequenciais e de busca mais rápidas, desde que seus dados não sejam altamente fragmentados.

Nos discos giratórios, os cilindros externos têm mais setores e giram mais rapidamente do que os cilindros internos. Muitos sistemas de arquivos modernos tentam colocar os setores de arquivos de forma contígua para reduzir a fragmentação, o que geralmente significa que partições grandes usam cada vez mais os cilindros internos ao longo do tempo.

É possível que a partição menor force o sistema de arquivos a colocar mais dados nos cilindros externos, e que mesmo quando fragmentados levemente, os dados se movem sob as cabeças de leitura mais rapidamente.

Você pode testar sua unidade quanto ao acesso aleatório e desempenho seqüencial com diferentes tamanhos de partição usando ferramentas Linux como hdparm , embora você queira usar uma ferramenta mais avançada que leve em consideração a fragmentação se desejar mais do que uma resposta pragmática.

Dependendo do uso das unidades, qualquer benefício de desperdiçar espaço em disco provavelmente será compensado pelo próprio desperdício. Se o acesso aleatório ou o desempenho sob fragmentação forem importantes para você, alternar para uma unidade de estado sólido (SSD) provavelmente faz mais sentido a longo prazo.

CodeGnome
fonte