Veja a postagem anterior: Apresentando o gs-fastcopy
Enviei o aprimoramento gs-fastcopy-python#10: Inspecione a contagem do processador para obter melhores padrões de upload.
Anteriormente, o padrão era 8 trabalhadores (padrão do Google). Em um sistema com mais de 8 núcleos, isso deixa muita coisa ociosa!
Agora, inspecionamos a contagem de CPU disponível. Honramos os.get_schedaffinity em sistemas que o suportam (processadores disponíveis para este processo não apenas em geral), caso contrário, usamos os.cpu_count().
Resultados de benchmarking: [folha de origem]
Observe como adicionar trabalhadores acelera o processo, mas produz retornos decrescentes. Acho que é aí que a transferência de rede em si se torna mais um gargalo, mas é provável que ajustar o tamanho dos pedaços também ajude.
Observe também os efeitos mais dramáticos ao usar compactação (usando pigz, gzip paralelo). pigz já teria percebido o máximo de trabalhadores antes, a novidade aqui é incluí-los no upload também.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3