Devo esperar um grande aumento no desempenho do Oracle em termos de lidar com várias solicitações que mudam de um para o dual core?

2

Temos um banco de dados Oracle de aproximadamente 100 GB que é executado na parte superior de uma VM do Windows Server 2k3R2 no ESX em uma configuração de 1 soquete e 1 núcleo. Sempre que tem que lidar com uma consulta principal, ela parece ficar "indexada" pela duração dessa consulta (50% a 75% da utilização da CPU) e, em alguns casos, limita a funcionalidade dos aplicativos que a utilizam. O caso mais comum é quando executamos relatórios massivos, a consulta por si só diminui significativamente o desempenho do aplicativo enquanto a consulta está sendo executada, como se estivesse enfileirando as tarefas. Minha pergunta é: "atualizar" a VM para uma configuração de 1 soquete e 2 núcleos significativamente melhora esse problema de "indexação"?

    
por tacos_tacos_tacos 13.06.2012 / 22:30

4 respostas

6

Isso depende. Se a utilização da CPU for do usuário, a resposta provavelmente será "sim". Se a utilização da CPU for do iowait, você estará desperdiçando seu dinheiro até que você atualize seu sistema de armazenamento. Se é principalmente do sistema, então você provavelmente tem um driver ou dispositivo de hardware que está ocupando muitos recursos de interrupção (placa de rede, talvez?)

    
por 13.06.2012 / 22:35
0

Tenho certeza de que qualquer atualização na CPU (contagem) terá benefícios de desempenho, contanto que você também os inclua na máquina virtual. Certifique-se de não se comprometer muito embora. Ou seja, digamos que você tenha 4 máquinas virtuais em um servidor de 32 GB e atribua 25 GB de RAM a cada máquina virtual.

No entanto, na minha opinião, você está se limitando a executar o oracle em um ambiente virtual.

Eu consideraria seriamente rodar o oracle em um servidor dedicado sem a camada de virtualização. O Oracle é uma fera e precisa de todos os recursos que pode obter. Também use um hardware raid10 com pelo menos 8 discos, quanto mais discos, melhor. Isso também se aplica ao servidor ESXi.

    
por 13.06.2012 / 22:37
-1

Isso depende muito de quanto paralelizável é o trabalho da Oracle, ou seja, na consulta específica que está sendo executada. De um modo geral, um SGBD é uma aplicação altamente paralela, portanto, deve se beneficiar de ter mais CPUs; mas algumas cargas de trabalho podem não se beneficiar disso.

    
por 13.06.2012 / 22:39
-1

Ter mais de um núcleo para o mecanismo de banco de dados ajudará no desempenho. A Oracle possui vários processos centrais que todos têm que competir no tempo da CPU, se houver muito poucos deles. Além disso, quando você introduz sessões de usuário com capacidade de consumo (consultas, por exemplo), a concorrência piora. Então, sim, ajudará. A Oracle foi criada para ter e usar uma plataforma multi-CPU. Além disso, se você executar os serviços de aplicativo no mesmo servidor, não há dúvidas sobre isso.

    
por 04.07.2012 / 08:44