Por que é mais rápido ter mais partições primárias?

4

Por que é mais rápido ter mais partições primárias ao usar o Linux?

Por favor, dê alguns exemplos reais; Conheço algumas razões teóricas, mas não as compreendo bem.

    
por Yosef 14.03.2011 / 00:53

2 respostas

3

O motivo principal pode estar em cache, já que o Linux armazena em cache os sistemas de arquivos individualmente.

Ter uma única unidade com uma única partição significa que todos os dados no sistema de arquivos competem entre si no cache. Portanto, spool-data e binários, arquivos do usuário e servidor da Web, todos usam esse grande cache.

Se uma transferência de dados maior (downloads, streaming de filmes, etc.) estiver ocorrendo, eles praticamente descarregarão o cache único, portanto binários frequentemente usados, etc. desaparecerão do cache e deverão ser relidos do disco - o que pode demorará um pouco, já que grandes transferências de dados estão acontecendo, então a unidade está muito carregada!

Se você tiver mais de uma partição, cada uma delas será armazenada em cache individualmente. Portanto, você tem chances de que os binários ainda sejam armazenados em cache, mesmo que o cache do servidor da web esteja sobrecarregado.

No entanto, isso depende da estratégia de cache usada. Como ouvi dizer, existem várias estratégias de cache diferentes hoje, mas infelizmente não tive tempo de mergulhar nisso ainda mais.

Também pode haver uma segunda razão , mas hoje acho que isso não é mais relevante:

Manter estruturas maiores no kernel requer mais RAM. Antigamente, quando não havia muita memória RAM (digamos, 256 MB), os sistemas de arquivos poderiam ser tão grandes que você não conseguiria fsc-los sem habilitar a troca. Hoje isso geralmente não é mais um problema.

No entanto, estruturas maiores precisam de uma limpeza mais frequente das páginas. Partições menores têm estruturas menores, então a probabilidade de que as partes mais freqüentemente usadas ainda estão presentes no kernel é maior.

Você até foi capaz de ver isso em sistemas quase inativos nos velhos tempos, já que eles não conseguiam manter tudo na memória mesmo sem ter maiores acessos ao disco.

Mas hoje, com memória praticamente suficiente, não acho que isso seja importante.

Um terceiro motivo pode ter a ver com elevadores, digamos como o Linux acessa os dados.

O Linux tenta reorganizar o acesso ao disco, de modo que a cabeça da unidade funcione mais ou menos como um elevador que tenta usar um caminho otimizado para cima e para baixo.

Manter dados semelhantes juntos pode melhorar o acesso, pois você pode ler em partes dessas informações solicitadas de uma maneira mais previsível. Então, o acesso a partições como / usr / melhora quando essas informações são mantidas juntas.

No entanto, isso também se torna cada vez menos importante, já que os discos de estado sólido emergentes não têm cabeças de unidade física, portanto, buscar tempo mais e mais se torna sem importância.

Nota de expiração:

Com o surgimento de todos esses novos sistemas de arquivos, como o BTRFS e o ZFS, todas as descobertas dos últimos 30 anos sobre o particionamento inteligente tornam-se nulas. Esses sistemas de arquivos não têm mais nenhuma noção de "partição", então acho que particionar sua unidade é algo que se tornará cada vez mais obsoleto.

Já hoje com LVM você não mais simplesmente particiona sua unidade, em vez disso, mapeia os volumes dinamicamente em outro lugar. Os volumes podem ser divididos em várias partes e podem até ser distribuídos em vários discos. E as empresas geralmente usam SAN, onde você não tem mais nada parecido com um disco físico real (do ponto de vista do computador).

Portanto, é verdade que, com alguns aplicativos específicos (dispositivos brutos do banco de dados), a configuração do disco pode ser um pouco importante para melhorar a velocidade de acesso. No entanto, exceto em casos tão raros, não vale a pena tentar encontrar um esquema de particionamento super inteligente e perfeito, pois isso só irá acelerar as coisas em uma área de% baixa. , se você notar algum efeito.

O layout correto da sua aplicação (Grid computing etc.) oferece muito mais possibilidades de melhoria de velocidade. Ou falar pelo mercado consumidor:

Não compre seu computador onde você compra maçãs (aquelas que você come). Com apenas alguns $ a mais, você pode obter um sistema mais rápido e com menos consumo de energia - o que será pago a longo prazo.

Então atenha-se a qualquer esquema de particionamento que você goste e apenas compre um pouco mais inteligente - isso melhorará o desempenho mais ;)

    
por 17.03.2011 / 23:58
2

Há muitas coisas que podem beneficiar o desempenho quando você divide seu disco em várias partições, em vez de ter todos os seus arquivos armazenados em uma partição grande. Algumas razões são:

    Os cilindros externos produzem uma taxa de transferência mais alta do que os cilindros internos. Então, se você colocar seus arquivos mais acessados em uma partição que cubra esses cilindros, eles serão recuperados mais rapidamente. Ou, se você quiser uma inicialização mais rápida, coloque a partição do sistema nesses cilindros.
  • Separar constantemente as pastas alteradas (/ tmp, / var, / home) das pastas do sistema (/, / usr), ou seja, colocá-las em partições separadas pode impedir a fragmentação dos arquivos do sistema (por exemplo, quando você faz uma atualização do sistema) e assim garantir que você continuará tendo um bom desempenho para a inicialização de sistemas e aplicativos.
  • Considerações sobre quais arquivos são acessados com mais frequência e colocá-los em partições localizadas perto de cada um podem render melhor desempenho devido a menos movimentação da cabeça.
Portanto, mais do que apenas "Mais partições primárias é melhor", você deve considerar que um bom conhecimento de como seu sistema será usado e colocar esse conhecimento em prática no planejamento do particionamento de seus discos pode oferecer um melhor desempenho.

    
por 16.03.2011 / 18:06