Comentários
- Mudança no sistema de arquivos … mudança nos agendadores do kernel … mudança no próprio armazenamento. Aplicativos diferentes têm requisitos diferentes. Tudo depende de muitas variáveis para contar, e o desempenho não é tudo – você também precisa ser capaz de confiar nele e saber como lidar com ele quando as coisas vão mal. No final, você tem que executar seus próprios benchmarks e fazer sua própria escolha …
- Tudo o que você disse é consistente, não há contradições. No entanto, você precisará testar suas cargas de trabalho. As suposições de otimização geralmente tornam o sistema lento. Sempre meça.
- EXT4 também está usando uma certa quantidade de espaço para inodes em comparação com XFS. E como disse Frostschutz … tudo muda com o tempo. Quando o BTRFS chegou ao mercado, era suposto ser um FS fantástico, mas parece que as coisas mudaram
- Eu ' vi apenas um bom desempenho do XFS, tanto em benchmarks e na prática. Duvido que existam benchmarks que mostrem o contrário (para versões recentes do XFS). Os sistemas de arquivos especializados podem superar o XFS para tarefas especializadas, mas o XFS deve ter um desempenho comparável a outros sistemas de arquivos de desempenho.
Resposta
Um Q / A anterior do XFS mencionou esta página: Como escolher seu sistema de arquivos Red Hat Enterprise Linux . Acho que vai responder à sua pergunta sobre desempenho :-). Esta é a base de conhecimento oficial da Red Hat. Seria impróprio copiar a página inteira. Aqui está uma amostra:
Outra maneira de caracterizar isso é que as variantes do sistema de arquivos Ext4 tendem a ter um desempenho melhor em sistemas com capacidade limitada de E / S. Ext3 e Ext4 têm melhor desempenho em largura de banda limitada (< 200 MB / s) e capacidade de até ~ 1.000 IOPS. Para qualquer coisa com maior capacidade, o XFS tende a ser mais rápido. O XFS também consome cerca de duas vezes a operação de CPU por metadados em comparação com Ext3 e Ext4, portanto, se você tiver uma carga de trabalho vinculada à CPU com pouca simultaneidade, as variantes Ext3 ou Ext4 serão mais rápidas. Em geral, Ext3 ou Ext4 é melhor se um aplicativo usa um único thread de leitura / gravação e arquivos pequenos, enquanto o XFS se destaca quando um aplicativo usa vários threads de leitura / gravação e arquivos maiores.
Resposta anterior
Aqui está uma versão anterior desta resposta. Eu adaptei e ampliei, para fornecer contexto e corroborar a fonte acima. Nem tudo é leitura essencial.
Não faz sentido evitar o XFS por ser antigo . Existem muitas semelhanças entre o XFS e ext2 / ext3 / ext4, incluindo suas vidas longas e ativa .
XFS é o principal sistema de arquivos com suporte para RedHat Enterprise Linux. Muito esforço foi feito para desenvolver o XFS ao longo do tempo, principalmente do RHEL. O número absoluto de recursos novos e avançados é maior no XFS :-). Veja, por exemplo suporte para “reflink”.
As instalações de “Desktop Linux” – que também são direcionadas a laptops modernos – geralmente ainda usam ext4. O ext4 fornece um ambiente muito familiar e conhecido.
Em um PC desktop comum, as vantagens do XFS não se aplicam necessariamente. ext4 pode ter vantagens, incluindo vantagens de desempenho. Embora se você considerar os números acima pelo valor de face, eles sugerem que o XFS pode ter uma vantagem em laptops modernos e rápidos!
Atualmente, o mantenedor do ext4 é contratado pelo Google. ext4 é usado no sistema operacional Android do Google. Portanto, ext4 é usado em muitos telefones e tablets, que possuem hardware menos poderoso. [1] [2]
Também acho o ext4 conveniente porque você pode diminuir as partições do sistema de arquivos. Isso é potencialmente útil quando você deseja gerenciar o espaço usado por diferentes instalações em um único disco. O XFS não tem suporte para redução, apenas crescimento. (Em princípio, isso pode ser resolvido dentro do LVM, usando “provisionamento thin”. Veja Stratis Storage, que usa XFS junto com provisionamento thin. Talvez no futuro Stratis levará off, e todas as distros serão instaláveis no Stratis).
Em alguns casos, o design do ext4 foi descrito como antigo e bagunçado. O XFS claramente gerenciava um pouco melhor aqui: A cópia simples do arquivo (ou gravação) causa dez segundos + latência no sistema de arquivos Linux . ATUALIZAÇÃO: este link agora menciona patches que foram enviados para melhorar o ext4 aqui, provavelmente para v5. 3 do kernel Linux. E ainda pode haver melhorias significativas no futuro.
“desempenho de arquivos pequenos” do XFS
O desempenho do XFS ao lidar com muitos arquivos pequenos era originalmente uma grande fraqueza, em relação a outros sistemas de arquivos. Aprimoramentos foram feitos ao longo do tempo.
Uma grande mudança a ser observada é o log atrasado, em torno de 2010-2012. Ou seja, caso você veja quaisquer comparações de desempenho de arquivos pequenos anteriores a esse recurso, elas não são mais relevantes. O projeto de log atrasado foi fortemente baseado no log ext3 :-). No entanto, ainda havia diferenças de desempenho entre os dois em casos diferentes. Consulte: https://lwn.net/Articles/476263/
(Antes disso, aparentemente “o formato de log da versão 2 foi adicionado em 2002, o que ajudou a tornar o desempenho dos metadados muito melhor”. Mas isso provavelmente não ajuda a responder a esta pergunta :-).
Existem mais algumas mudanças desde então. Por exemplo. o documento da Red Hat pode não refletir todas as mudanças mais recentes. Notei esta citação:
[…] árvores inode B + gratuitas (finobt) para melhor desempenho em sistemas de arquivos “antigos” e os tipos de arquivo agora armazenado no diretório por padrão (ftype = 1), o que melhora muito o desempenho em certos cenários com muitos arquivos (geralmente pequenos).
– comentário em Qual é o sistema de arquivos Linux de melhor desempenho para armazenar muitos arquivos pequenos (HDD, não SSD)?