Desempenho do processo em lote no Linux

4

Meus usuários finais querem executar processos em lote simultaneamente em uma caixa do Linux. Sua impressão é que a execução de vários deles ao mesmo tempo reduzirá o tempo de resposta. Esses processos fazem uma boa quantidade de trabalho pesado.

Minha opinião sobre isso é que a execução simultânea simplesmente competirá por recursos e causará disputa por recursos. Alguns testes parecem provar minha hipótese.

Encontrei um tópico semelhante abaixo no SF.

  1. Alguém pode apontar para recursos autoritários que comprovam os dois lados da teoria?

  2. Que tipo de teste pode ser feito para validar esta hipótese?

Processamento em lote no Linux

    
por oradbanj 13.11.2017 / 02:28

1 resposta

5

Para validar qualquer hipótese, basta executar os trabalhos simultaneamente ou em paralelo e anotar os resultados. Se você tem vários cpus, você possivelmente está em um lugar melhor, dependendo de como eles são executados.

Mas pergunte ao usuário porque eles pensam dessa maneira. Você só tem teoria. Faça um teste de cozimento e veja o que leva menos recursos e menos tempo.

NB !: Eu tive o mesmo problema, mas em vez de vários ETLs, os trabalhos estavam competindo com os backups. Parar os backups fez com que os ETLs rodassem rapidamente, culpando os backups !. (Mas parar os ETLs fez com que os backups fossem executados rapidamente, portanto, tenha cuidado ao apresentar seu argumento!) Como os DBAs não conseguiam entender que tinham contenção de disco, não queriam mudar ou fazer nada além de 'fazer os backups não afetam os ETLs, no final eu escrevi um script que pesquisava o final do ETLS e só corria assim que eles terminavam e se feito às 7 da manhã, caso contrário não correria. Tivemos uma janela de tempo limitado.

Você vai querer investigar coisas como processar a afinidade

e qualquer ajuste que você possa fazer na E / S em relação ao layout do disco / RAID etc, considerações padrão de desempenho.

    
por 13.11.2017 / 03:02