longo atraso em (win) rar antes de adicionar arquivos

1

Isto está executando o rar de 64-bit em uma instância aws do ami linux ec2 (núcleos de 4 cpu, processador Intel® Xeon® E5-2666 v3 @ 2.90GHz, 8gb RAM).

Eu tenho uma pasta com 8568 arquivos. Quando eu crio um arquivo rar e adiciono todos os arquivos a ele, demora cerca de 3 minutos para começar a processar a adição dos arquivos. Isso é normal? Você sabe qual o motivo do atraso (analisando os arquivos?)? O comando que estou usando:

/usr/local/bin/rar a -r -iddpq -ierr /path/to/compress/myfile.rar /path/to/compress/*.log

Cada arquivo tem apenas 980 bytes.

    
por raphael75 30.03.2017 / 20:45

1 resposta

2

Depois de executar um teste de escopo reduzido, vejo que o binário rar está chamando stat em cada arquivo sete vezes antes de finalmente abrir o arquivo para ler o conteúdo. Eu teria perseguido o comportamento no código-fonte, mas não está disponível (no debian, pelo menos).

$ strace -o rar.strace rar a -r -iddpq -ierr path/to/compress/myfile.rar path/to/compress/*.log
...
$ grep /5.log rar.strace
execve("/usr/bin/rar", ["rar", "a", "-r", "-iddpq", "-ierr", "path/to/compress/myfile.rar", "path/to/compress/1.log", "path/to/compress/2.log", "path/to/compress/3.log", "path/to/compress/4.log", "path/to/compress/5.log"], [/* 16 vars */]) = 0
stat64("path/to/compress/5.log", {st_mode=S_IFREG|0644, st_size=980, ...}) = 0
stat64("path/to/compress/5.log", {st_mode=S_IFREG|0644, st_size=980, ...}) = 0
stat64("path/to/compress/5.log", {st_mode=S_IFREG|0644, st_size=980, ...}) = 0
stat64("path/to/compress/5.log", {st_mode=S_IFREG|0644, st_size=980, ...}) = 0
stat64("path/to/compress/5.log", {st_mode=S_IFREG|0644, st_size=980, ...}) = 0
stat64("path/to/compress/5.log", {st_mode=S_IFREG|0644, st_size=980, ...}) = 0
stat64("path/to/compress/5.log", {st_mode=S_IFREG|0644, st_size=980, ...}) = 0
open("path/to/compress/5.log", O_RDONLY|O_LARGEFILE) = 5
    
por 01.04.2017 / 04:20