Eu tenho uma pasta com algumas centenas de milhares de arquivos pequenos, totalizando cerca de 14 GB de dados. Esta é uma pasta no meu diretório pessoal criptografado ecryptfs.
Fazer uma "pasta dush" leva mais de 9 minutos. Fazer um cp -ral para um local não criptografado leva uma hora e 15 minutos. A carga da CPU durante este tempo é principalmente ligada a IO (80% wa no topo)
Fazer uma "du -sh encryptedfolder" leva apenas 15 segundos e um cp -ral para o mesmo local leva apenas 80 segundos. 'encryptedfolder' é a pasta em /home/.ecryptfs/myname/.Private que contém os arquivos criptografados.
Estou perplexo com o impacto desse desempenho. Esta pasta é backups noturnos via rsync, que agora leva mais de duas horas. Antes de mudar para o ecryptfs, usei o truecrypt e o backup foi executado em 12 minutos.
Por que os ecryptfs são tão lentos neste cenário? As operações du -sh e cp -ral não envolvem qualquer descriptografia do conteúdo do arquivo, apenas localizando o nome do arquivo correto. Existe alguma maneira de acelerar isso?
P.S .: Isso é executado no Ubuntu 11.04
A resposta simples é que não é. O impacto no desempenho não está no fato de o encryptfs ser lento, mas na necessidade de alocar um grande número de inodes e executar a manutenção do disco para colocar todos os metadados associados aos arquivos no disco um por um.
Se a pasta for salva durante a noite, você pode achar mais útil primeiro "tar" todo o diretório, compactar o arquivo resultante e criptografá-lo (não criptografar e compactar, pois a compactação não funciona em arquivos criptografados). Dessa forma, você terá um backup que será consideravelmente menor e muito mais rápido para ser criado e movimentado.
fonte