alguma maneira de acelerar o compartilhamento EFS mapeado no Windows?

1

Acabamos de receber uma conta da AWS e testamos o EFS. Eu criei um EFS, montei-o em uma instância do Amazon Linux e configurei-o para ser compartilhado no samba. Eu era então capaz de mapear o compartilhamento como uma unidade no Windows 7 e no Windows Server 2012, mas tudo associado a ele é incrivelmente lento (visualizar arquivos, criar arquivos, visualizar as propriedades de compartilhamento - tudo). Eu acho que isso é devido a montagem sendo 8 EXA bytes.

Existe uma maneira de redimensionar o compartilhamento ou dividi-lo em partes menores, seja montando-o na instância ou no samba?

Existe uma maneira de redimensionar os efs diretamente? Nós nunca usaremos 8 exabytes!

Existe uma maneira de saber se é algo mais lento que não seja o tamanho?

Precisamos realmente mapear isso como uma unidade no Windows.

    
por raphael75 28.10.2016 / 21:00

3 respostas

3

O EFS é executado em um sistema de créditos de E / S, esses créditos são gerados constantemente ao longo do dia com base na quantidade de espaço que você está usando no EFS.

Toda vez que você lê ou grava em um volume EFS, você consome esses créditos. Se você não tiver créditos de E / S em seu saldo, as leituras e gravações aguardarão até você.

Acho que é provável que você tenha usado todos os seus créditos, e o IO em segundo plano continua esgotando seus créditos, mantendo o desempenho horrendo.

Você pode verificar o número de créditos que um volume EFS tem verificando o relógio de nuvem.

Só para esclarecer isso um pouco mais. Se você estivesse usando apenas 1GiB em um disco EFS, a qualquer momento que você lesse / escrevesse a uma taxa superior a 50 KiB / s, você gravaria créditos e, sempre que lesse / escrevesse uma taxa inferior a 50 KiB / s, geraria créditos. / p>

Em comparação, tendo 10GiB em um disco EFS, você conseguirá sustentar 500KiB / s.

Estou utilizando o EFS com um serviço e descobri que precisei gerar aproximadamente 80GiB de dados inúteis brutos, que ficam no disco EFS para gerar créditos IO suficientes para permitir que meu aplicativo use o compartilhamento.

Configurei um despertador de nuvem para notificar-me se meus créditos caírem abaixo de um limite, para que eu tenha tempo de adicionar mais alguns 'dados inúteis' ao disco do EFS para permitir que eu mantenha o desempenho normal.

Eu recomendo a leitura de sugestões oficiais da Amazon sobre o escalonamento da taxa de transferência do EFS se você pensar isso afeta você.

    
por 31.10.2016 / 00:14
2

Estou tendo acesso lento semelhante por meio do compartilhamento de samba montado no Windows. Estou obtendo bom desempenho (pelo menos uma fração de segundo de acesso ao navegar diretórios, etc.) no EC2. O Windows leva alguns minutos para se tornar acessível a partir da visualização "meu computador" / "this pc" das unidades montadas - ele parece ter um bom desempenho, uma vez que eu esteja dentro do diretório.

Então - isso é algo estúpido como o Windows tentando descobrir o tamanho do sistema de arquivos de 8 exabytes?

Usar o cmd parece suportar isso. Entre no sistema de arquivos e execute "dir" e os diretórios são listados seguidos por um longo atraso antes que os "bytes livres" apareçam

Eu aprecio que isso não seja uma resposta, espero que possa ser uma informação útil para alguém mais capaz do que eu

    
por 08.11.2016 / 14:50
2

Tivemos problemas semelhantes e encontramos uma solução para isso. Conseguimos restringir o problema ao fato de o SAMBA não ter informado o tamanho do EFS a tempo. Mais especificamente, o samba falha ao executar sys_get_nfs4_quota (), atingindo o tempo limite em aproximadamente 60 segundos.

Para superar esse problema, adicionamos um script personalizado ao samba para relatar 8 exabytes instantaneamente sem tentar calcular o tamanho. Dado que este é EFS ilimitado (em teoria), o tamanho relatado não importa, e retornar o número fixo é ok. Isso resolve o tempo limite de 60 segundos.

Para fazer isso, crie um arquivo em / etc / samba / samba-dfree e adicione as duas linhas abaixo:

#!/bin/bash
echo "8000000000 8000000000"

Em seguida, no arquivo de configuração do samba, adicione os seguintes parâmetros à seção global ou à seção específica de montagem do EFS, dependendo de suas necessidades:

dfree command = /etc/samba/samba-dfree
dfree cache time = 60

Salve o arquivo de configuração. Reinicie o SAMBA e o atraso deve desaparecer. Espero que isso ajude.

    
por 21.06.2018 / 18:35