Eu tenho um diretório chamado Pages
de 2,2 milhões de arquivos HTML (cerca de 80 GB) em um servidor Ubuntu. Eu o compactei com o 7-Zip usando este comando:
7z a -mx=9 Pages.7z Pages
Demorou cerca de 5-6 horas para comprimir (parece excessivo). O tamanho compactado é de cerca de 2,3 GB.
Eu então fiz o download para o meu computador principal (Ubuntu, CPU Intel® Xeon® E5-1650 v2 @ 3.50GHz). Toda vez que eu tento extrair, ele começa com uma velocidade decepcionante, mas aceitável, mas fica mais lento à medida que avança (correu durante a noite e quando eu acordei estava fazendo cerca de 300 arquivos por minuto).
No entanto, na minha máquina Windows (CPU Intel® Xeon® E5-2687W @ 3.10GHz 3.10 GHz, que é apenas uma máquina um pouco melhor, extraí o diretório inteiro em 15-20 minutos. Ele também utilizou claramente vários processadores, que eu não consigo fazer o 7-Zip no Ubuntu.
Obviamente, não posso levar uma extração por vários dias, nem deveria.
Meu sentimento é que isso tem a ver com algo que eu não sei sobre o Ubuntu (eu sou um usuário do Windows em recuperação) ou o meu sistema de arquivos, em vez de 7-Zip. Qualquer ajuda seria tremendamente apreciada.
Meu computador principal usa o sistema de arquivos ext4, e a versão do 7-Zip que eu tenho é 9,20:
7-Zip [64] 9.20 p7zip Versão 9.20 (locale = en_US.UTF-8, Utf16 = on, HugeFiles = on, 12 CPUs)
Atualização:
I should clarify that I actually have one drive on my main Ubuntu
installation that is ext4 (my ssd), though I have another one that is
ntfs (I think I remember this being recommended by Ubuntu during
installation, perhaps b/c I set it up as a raid array). The problem
of slowing down over time was happening regardless of which I was
working from.
Following advice in the comments, I used my Windows machine to unzip
the compressed file, restructure the directory with 4096
subdirectories, and re-zip it (though this time I used the default
compression level rather than maximum, and specified lzma2). I then transferred it to my
Ubuntu machine (the ext4 SSD specifically) and unzipped. It worked
perfectly as I would expect - very fast.
However, as another commenter noted, part of the problem here is
likely just that my drives on the Ubuntu machine are not indexed (they
are on Windows), and I might not have to restructure directories at
all if I do index (which I've been wanting to do anyway). I'm
currently trying to figure out how to do that successfully and
safely...and will report back with any useful results.
I've also tried restructuring a directory already on my Ubuntu machine
using python, which is going unreasonably slow. Perhaps it's a python
issue rather than Linux/ext4/ntfs or perhaps it also has to do with
indexing, or perhaps it is b/c the source directory has 2.2 million files
in one directory...:
for fileName in series:
if not os.path.exists('[...]/Pages2/' + fileName[:3] + '/' + fileName):
shutil.copy('[...]/Pages/' + fileName, '[...]/Pages2/' + fileName[:3] + '/' + fileName)