Compressão NTFS em SSD - altos e baixos

Compressão NTFS em SSD - altos e baixos

Este tópicodiscute a compactação NTFS em HDDs como um método para melhorar o desempenho do acesso ao disco e conclui que na maioria das vezes ela é ruim. Mas sempre considerei a compressão como uma forma de conservar espaço e aprendi a sua eficácia. E agora eu tenho um SSD onde o espaço é caro e a penalidade de desempenho, por exemplo, para leitura/gravação de 2 clusters em vez de 1, é muito menor.

Por outro lado, como os SSDs são muito mais rápidos que os HDDs, eu esperaria que um rendimento mais alto resultasse em maior uso da CPU. Isso pode se tornar um problema? Alguma outra opinião sobre o assunto?

Gosto do efeito de economia de espaço, não é enorme, mas está lá. Se o desempenho for uma preocupação, prefiro desligá-lo:

insira a descrição da imagem aqui

Responder1

Microsoftescrevi isso há algum tempo em um blog:

O NTFS compacta arquivos dividindo o fluxo de dados em CUs (isso é semelhante ao funcionamento dos arquivos esparsos). Quando o conteúdo do fluxo é criado ou alterado, cada CU no fluxo de dados é compactado individualmente. Se a compactação resultar na redução de um ou mais clusters, a unidade compactada será gravada no disco em seu formato compactado. Em seguida, um intervalo de VCN esparso é adicionado ao final do intervalo de VCN compactado para fins de alinhamento (conforme mostrado no exemplo abaixo). Se os dados não forem compactados o suficiente para reduzir o tamanho em um cluster, toda a CU será gravada no disco em seu formato não compactado.

Esse design torna o acesso aleatório muito rápido, pois apenas uma CU precisa ser descompactada para acessar qualquer VCN no arquivo. Infelizmente, o acesso sequencial grande será relativamente mais lento, uma vez que a descompressão de muitas CUs é necessária para realizar operações sequenciais (como backups).

E em umO artigo da base de conhecimento escreve isto:

Embora a compactação do sistema de arquivos NTFS possa economizar espaço em disco, a compactação de dados pode afetar negativamente o desempenho.A compactação NTFS possui as seguintes características de desempenho. Quando você copia ou move um arquivo NTFS compactado para uma pasta diferente, o NTFS descompacta o arquivo, copia ou move o arquivo para o novo local e, em seguida, recompacta o arquivo. Esse comportamento ocorre mesmo quando o arquivo é copiado ou movido entre pastas no mesmo computador. Os arquivos compactados também são expandidos antes de serem copiados pela rede, portanto, a compactação NTFS não economiza largura de banda da rede.

Como a compactação NTFS écom uso intensivo do processador, o custo de desempenho é mais perceptível em servidores, que frequentemente dependem do processador. Servidores muito carregados e com muito tráfego de gravação são maus candidatos para compactação de dados.No entanto, talvez você não experimente uma degradação significativa do desempenho com servidores somente leitura, principalmente de leitura ou com carga leve.

Se você executar um programa que usa log de transações e grava constantemente em um banco de dados ou log, configure o programa para armazenar seus arquivos em um volume que não esteja compactado. Se um programa modifica dados por meio de seções mapeadas em um arquivo compactado, o programa pode produzir páginas "sujas" mais rápido do que o gravador mapeado pode gravá-las. Programas como o Microsoft Message Queuing (também conhecido como MSMQ) não funcionam com compactação NTFS devido a esse problema.

Como as pastas base do usuário e os perfis móveis usam muitas operações de leitura e gravação, a Microsoft recomenda que você coloque as pastas base do usuário e os perfis móveis em um volume que não tenha compactação NTFS na pasta pai ou na raiz do volume.


Resumo:

comprima apenas arquivos pequenos que nunca mudam (apenas leituras e nenhuma gravação) porque as leituras são rápidas, mas as gravações requerem descompactação e nova compactação que consomem energia da CPU e o tipo de armazenamento não é tão importante.

Responder2

Como o Cláudio fala muitas coisas detalhadamente, vou resumir a opinião dele que também é minha, vi os mesmos efeitos depois de experimentar o que ele fala.

Para SSD a compactação NTFS não deve ser usada.

Agora enumerarei alguns motivos para tal afirmação:

Motivo Nº1: Vai matar o SSD muito mais rápido, já que faz duas escritas; A compactação NTFS sempre grava dados descompactados antes de iniciar a compactação na RAM e, em seguida, reescreve os dados compactados somente se houver um ganho de pelo menos 4KiB.

Motivo Nº2: Usar cluster NTFS 4KiB em um SSD está perdendo 50% da velocidade do SSD, verifique qualquer benchmark e verá que blocos de 128KiB tornam o SSD duas vezes mais rápido do que usar blocos de 4KiB, e a compactação NTFS só pode ser usada em partições NTFS de cluster de 4KiB.

Motivo Nº3: Existem contêineres (como PISMO File Mount) que podem criar um contêiner que é visto como compactação e/ou criptografia em tempo real, tais contêineres fazem a compactação na RAM e não enviam dados descompactados para o disco antes de reescrever na forma compactada, também mais, o PISMO obtém uma taxa de compactação melhor que o NTFS.

Existem muito mais motivos, mas esses são os mais importantes.

O outro ponto é VELOCIDADE, qualquer compactação é feita na CPU, então se você não tiver uma CPU muito rápida (mono-thread é usado para isso em NTFS enquanto multi-thread é usado em alguns contêineres) verá uma leitura/gravação muito lenta quando comprimido; pior, você pode ter uma CPU muito rápida, mas se ela estiver em uso para outras coisas (como renderização, transcodificação, etc.), não sobrará CPU para compactação, então, novamente, você obterá um desempenho ruim.

A compactação NTFS só é boa para discos lentos tradicionais quando você tem CPU sem muito uso, mas requer uma boa desfragmentação após cada gravação (no nível do arquivo), pois cada bloco de 64KiB (compactado ou não) é gravado em um múltiplo da posição de 64KiB; a única maneira de compactar esses fragmentos é após a compactação (ou gravação em uma pasta compactada) fazer uma desfragmentação desse arquivo.

PD: Cuidado, estamos falando de Windows em hardware real, não dentro de máquinas virtuais, o importante é quem escreve no meio físico, outros podem ter camadas de cache que podem atenuar os efeitos e também melhorar muito as coisas.

Responder3

Vejo os comentários de outras pessoas e acho que as pessoas muitas vezes esquecem o cenário mais útil em que a compactação de arquivos/pastas NTFS tem uma grande vantagem no SSD: ferramentas de desenvolvimento modernas. MeuMatlab com licença universitáriapossui em sua pasta de instalação (somente leitura para usuários comuns) as seguintes quantidades de dados:

28,5 GB Dados 30,6 GB Tamanho no disco Contém 729.246 arquivos e 15.000 pastas (!!!)

Isso está no meu laptop com SSD de 500 GB, onde a partição do Windows é de 200 GB.

Eu sei que o Matlab é um pouco extremo nesse aspecto, mas muitos devtools têm propriedades semelhantes: uma tonelada de arquivos de texto pequenos e altamente compactáveis ​​(cabeçalhos, código, arquivos XML). Estou compactando o Matlab agora antes de instalarFPGA Intel Quartusferramenta de desenvolvimento eOitavajá está compactado da seguinte forma:

1,55 GB Tamanho dos dados no disco: 839 GB Contém 34.362 arquivos 1.955 pastas

Esse material é escrito uma vez e lido zilhões de vezes durante a construção do projeto. Faz todo o sentido gastaralgunsPotência da CPU para descompactá-lo e economizar talvez metade do seu precioso espaço SSD.

Responder4

Você precisa fazer benchmark duas vezes para saber. Comprimido. Descompactado. Esqueça o desgaste dos SSDs. Você precisa de um SSD e CPU rápidos para que não ocorra gargalo.

Um SSD de 512 GB custa 50 dólares hoje em dia. O acesso ao disco mais rápido para mim até agora é usar o Linux sempre que possível e o mecanismo de fila de disco LIFO. Em vez de CFQ.

O Windows 10 cria atividade de disco infinita com 12 GB de RAM instalados no meu laptop. O Linux mint carrega e quase nenhum acesso ao disco ocorre depois. A menos que você o inicie. O Windows simplesmente consegue se manter ocupado sem tarefas visíveis.

informação relacionada