Abordo todos vocês humildemente como alguém que NÃO é um DBA, e tenho certeza de que minha pergunta está repleta de deficiências conceituais e "depende de" minas terrestres. Também tenho certeza de que todos vocês que escolherem responderão querer muito mais detalhes específicos do que eu posso fornecer atualmente.
Dito isto, estou curioso sobre o seguinte cenário em geral:
- Digamos que eu tenha duas consultas não triviais.
- A consulta 1 requer 2 minutos para ser concluída em média.
- A consulta 2 requer 5 minutos para ser concluída em média.
Se eu executá-los em série, um após o outro, espero que demore 7 minutos para concluir, em média. Isso é razoável?
Mais do que isso, no entanto, e se eu executar as duas consultas simultaneamente? Duas conexões separadas ao mesmo tempo.
- Em que condições eu esperaria ver uma aceleração? (Tempo total <7 minutos)
- Em que condições eu esperaria ver uma desaceleração? (Tempo total> 7 minutos)
Agora, se eu tivesse 1.000 consultas não triviais em execução simultaneamente, tenho um palpite de que isso resultaria em uma desaceleração geral. Nesse caso, onde estaria o gargalo? Processador? RAM? Drives?
Novamente, eu sei que é provavelmente impossível responder à pergunta precisamente sem saber detalhes (o que eu não tenho.) Estou procurando algumas diretrizes gerais para pensar ao fazer as seguintes perguntas:
- Sob quais circunstâncias as consultas simultâneas resultam em uma aceleração geral?
- Sob quais circunstâncias as consultas simultâneas resultam em uma desaceleração geral?