AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1736951
Accepted
bobbolous
bobbolous
Asked: 2022-08-15 02:44:36 +0800 CST2022-08-15 02:44:36 +0800 CST 2022-08-15 02:44:36 +0800 CST

A velocidade de acesso depende do número de arquivos em um compartilhamento de rede?

  • 772

Em nosso escritório, usamos um RAID5 de SSDs como compartilhamento de rede em um servidor linux. Este compartilhamento é acessado como uma unidade de rede de PCs Windows e Mac. Às vezes, esse compartilhamento de rede fica muito lento em termos de tempos de acesso e velocidade de transferência.

Eu não sou o administrador e, portanto, não tenho uma visão completa do sistema.

Um dos administradores agora propôs que isso pode ter a ver com o número de arquivos armazenados no compartilhamento de rede. Algumas pastas contêm milhões de alguns arquivos kB.

A velocidade de acesso depende do número de arquivos em um compartilhamento de rede?

performance network-shares
  • 4 4 respostas
  • 2719 Views

4 respostas

  • Voted
  1. Best Answer
    Tetsujin
    2022-08-15T02:49:25+08:002022-08-15T02:49:25+08:00

    Não é o grande número de arquivos na unidade, mas sim quantos estão em uma determinada pasta.

    Toda vez que alguém acessa uma pasta, o conteúdo deve ser lido para que a lista de arquivos possa ser apresentada. Isso também é independente dos tamanhos dos arquivos; apenas os títulos, datas criadas/modificadas e outras informações visíveis externamente precisam ser buscadas.
    Os caches de ícones também podem sofrer um grande impacto, se forem usadas miniaturas.

    Dividir essas pastas gigantes em subconjuntos pode ser exatamente o que a estrutura precisa.

    • 31
  2. user1686
    2022-08-15T02:58:27+08:002022-08-15T02:58:27+08:00
    1. A velocidade de listagem de arquivos obviamente depende do número de arquivos a serem listados.

    2. A velocidade de abertura de um arquivo específico (ou seja, iniciar a recuperação) pode depender do número de arquivos.

      Dependendo de qual sistema de arquivos está sendo usado no servidor (por exemplo, NTFS, XFS, ext4, ZFS), ele usará estruturas de dados diferentes para armazenar a lista de arquivos em cada diretório – alguns dos quais são notavelmente melhores em lidar com listas massivas do que outros ( por exemplo, árvores B vs tabelas de hash vs listas lineares).

      Toda vez que um novo arquivo é aberto (ou tocado de outra forma), o servidor precisa encontrá-lo dentro desse diretório, e isso pode levar algum tempo. (Especialmente se a lista de diretórios não estiver armazenada em cache na memória e precisar ser lida de um HDD.)

      Com milhões de arquivos, você deve definitivamente considerar fragmentá-los em subdiretórios, por exemplo, com base nas primeiras letras do nome do arquivo (semelhante ao que você pode ver em .git/objects/um repositório Git).

    3. A velocidade de transferência do conteúdo de um arquivo (sem incluir o tempo necessário para abri-lo) não depende do número de arquivos nesse diretório.

      Depende de quanto os discos precisam procurar (se forem mecânicos), o que é especialmente ruim para muitos arquivos pequenos.

    Se você estiver transferindo milhares de arquivos minúsculos, acho que a maior parte do tempo será gasto em e – se o servidor estiver usando HDDs – procurando fisicamente os cabeçotes do HDD de um arquivo minúsculo para outro, e de uma entrada de metadados para outro.

    • 9
  3. Halfgaar
    2022-08-15T01:05:14+08:002022-08-15T01:05:14+08:00

    Você não disse se o servidor era Windows ou Linux, mas pelo menos em sistemas de arquivos baseados em Linux, diretórios grandes são certamente lentos. Se você criar milhões de arquivos em um diretório, o índice do diretório aumentará. Você pode realmente ver isso se você fizer isso ls -lhd <dir>. E os diretórios só crescem; eles não ficam menores.

    Eu gerencio um sistema que lida com muitos arquivos de fila, e para evitar lentidão por causa disso, há duas coisas que faço:

    • Divida os milhões de arquivos em vários subdiretórios. Esta é uma prática muito comum. Se você olhar para o servidor SMTP do Postfix, por exemplo, verá que o diretório da fila é subdividido em subdiretórios, com base na primeira letra (isso pode ser feito com hash ou qualquer algoritmo que você desejar).
    • Ocasionalmente, recrie todos os subdiretórios. Existem eventos que fazem com que até mesmo esses subdiretórios cresçam e, uma vez que um diretório tenha dezenas ou centenas de megabytes de tamanho (não o conteúdo , apenas o índice do diretório), ele diminui todo o acesso a ele.

    Portanto, evite milhões de arquivos em um diretório e coloque-os em subdiretórios.

    Quando você está falando de milhões de arquivos espalhados por muitos subdiretórios, isso não deve ser um fator.

    • 6
  4. davidgo
    2022-08-15T04:02:52+08:002022-08-15T04:02:52+08:00

    Um gargalo provável é a interface de rede.

    A resposta para a pergunta feita é "depende". Depende do sistema operacional, sistema de arquivos, protocolo de compartilhamento de arquivos, RAM, interface SSD, se a criptografia em repouso é usada e como, o controlador RAID entre outras coisas.

    É possível que o número de arquivos na unidade esteja afetando o desempenho - pouco provavelmente isso é apenas um problema se os arquivos forem lidos apenas ocasionalmente e/ou o servidor tiver muita memória restrita - os ponteiros do sistema de arquivos são normalmente mantidos na memória e como o disco é SSD, "tempos de busca" não são um problema.

    Também é possível que um ou mais SSDs esteja chegando ao fim da vida, ou que não esteja lidando com o TRIM corretamente; nesse caso, pode estar diminuindo muito as leituras e principalmente as gravações, possivelmente afetando desproporcionalmente o acesso a outros discos, pois os dados são distribuídos em todos os discos .

    • 1

relate perguntas

  • Adicionar muitas entradas ao arquivo de hosts causa lentidão na Internet?

  • Disco rígido externo lento acesso a arquivos e falhando

  • Como encontrar o uso da CPU conforme mostrado no gerenciador de tarefas usando o monitor de desempenho

  • Core i7 executa muito mal? [fechado]

  • O fenômeno 'Write cliff' só acontece com discos SSD?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve