Como melhorar o tempo de execução do rsync no OmniOS (baseado em Illumos)?

Como melhorar o tempo de execução do rsync no OmniOS (baseado em Illumos)?

Estou testando o illumos em algumas de suas variantes, atualmente OmniOS.

Ao fazer benchmarking de processos vinculados a io, percebi que rsynceles eram significativamente mais lentos em relação à minha referência, FreeBSD 12-CURRENT.

Usando o mesmo hardware, o mesmo comando com os mesmos discos de origem e destino:

No OmniOS r151026 eu medi,

test@omniosce:~# time rsync -aPt /zarc/images /home/test/

real    17m25.428s
user    28m33.792s
sys     2m46.217s

No FreeBSD 12-CURRENT:

test@freebsd:~ % time rsync -aPt /zarc/images /home/test/

374.651u 464.028s 11:30.63 121.4%   567+210k 791583+780083io 2pf+0w

(Observe que o FreeBSD 12-CURRENT contém opções de depuração, portanto ele roda mais lentamente do que a versão RELEASE futura).

  • Percebi que, no FreeBSD, rsyncestavam rodando 3 processos, todos com nice=0, dois delesconsistentemente usando 50% a 70% do tempo de CPU.

  • No OmniOS, rsynctambém estava rodando como 3 processos, também com nice=0, mascada um nunca mais que 3%.

O uso da CPU é o motivo pelo qual o tempo de execução no mesmo hardware é tão diferente no FreeBSD e no Illumos?

Se sim, já que niceera o mesmo em ambos os sistemas operacionais, por que o Illumos não permite maior uso da CPU?

Como alguém poderia melhorar rsynco tempo de execução em sistemas operacionais baseados em Illumos?

Agradeço antecipadamente.


Edição de 02/06/2018:

  • Pergunta esclarecida para torná-la mais específica. Agradecimentos a @rui-f-ribeiro

  • Respondendo a @roaima:

    1. Os sistemas de arquivos de origem e destino são discos locais
    2. Esta não é uma execução única para cada sistema operacional. Tenho testado esta situação intrigante com muitas repetições
    3. Em todos os testes, estou garantindo que a árvore de diretórios de destino esteja completamente vazia de arquivos correspondentes aos da origem

Responder1

O mistério foi finalmente resolvido, pormudando o OmniOS rsync para 64 bits e habilitando a otimização. Isso mais que dobra a velocidade do código de soma de verificação.

Agora, considerando exatamente o mesmo hardware, o rysnc no OmniOS é ainda um pouco mais rápido que o do FreeBSD.

Obrigado a todos aqui e aos excelentes desenvolvedores do OmniOS que ajudaram tão rápida e exaustivamente.

informação relacionada