Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Armando Veloso

Problema de performance

Recommended Posts

Olá todos!tinhamos na empresa o oracle 10G rodando numa maquina com 1 processador pentium 4, 2 GB de memoria RAM e 4 HDs SATA (sem RAID). Adquirimos entao um servidor DELL, com dois processadores Quad-Core, 4 GB de RAM com 2x4MB de cache, 2 HD SAS 73GB cada, de 15K rpm em RAID 1 (usados para instalacao do linux red hat com o racle 10G R2), mais 4 HDs SAS 300GB cada, de 15K rpm em raid 10 (usados para dados do oracle)Acontece que percebemos o sistema um pouco mais lento, e entao peguei a maquina antiga (desativada da producao) e submeti a maquina nova e velha aos mesmos selects para comparar tempo de respostas...Fiz um select envolvendo 3 tabelas e a maquina antiga vence a nova com tempo de resposta cerca de 30% mais rapido!!!É impressionante, porque mesmo a maquina antiga tendo varios HDs, todas as tabelas do sistema estao num mesmo HD, enquanto que na nova o RAID distribui em dois discos os dados!Fiz tambem esse teste a noite, quando nao havia mais ninguem da empresa utilizando o sistema, portanto, o servidor novo nao havia concorrencia de escrita/leitura, e com isso , nao havia disputa de acesso a disco para, por exemplo, escrita nos logfiles, etc...AGORA, se por exemplo, faço um count(*) numa tabela apenas, o tempo de resposta da nova vence a antiga bastante, chegando a ser 4 vezes mais rapida a nova maquina!Nao sei o que fazer, de fato!Os parametros do INIT dos dois bancos sao os mesmos, entao, estao levantando as mesmas quantidades de memoria...Sendo que aumentei o tamanho dos tempfiles e undo na maquina nova...Nao sei o q fazer, HELP!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Armando,LINUX RH!!! Procura por um Patch no SO, onde ele gerencia melhor a memória, em um dos clientes, tivemos um problema parecido, uma #@?$%~ máquina e o problema de performance aumento!!!! Quando fomos verificar, precisava aplicar um patch de correção no sistema operacional para o Oracle conseguir trabalhar normalmente.Uma coisa fubndamental tb. é tirar um trace dos processos da máquina para saber onde ele está parando ou demorando para processar, e depois ir ajustando o banco de dados.Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Rodrigo!Agradeço demais pela dica do PATCH, se você lembrar ou tiver anotado em algum lugar, me diz aí qual é esse "danado"!Meu linux é um RH EL 4!Quanto ao trace q você falou, você poderia ser mais claro? você ta sugerindo fazer um trace do SELECT e ver o plano de execução, I/O etc gerado por ele?Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Armando,

 

Referente ao patch, dÊ uma olhada nesse note do metalink: 317055.1, nele irá dizer as correções no SO e algumas configurações que deve ser feito. Isso para máquinas 32-Bits.

 

Nos outros problemas, primeiramente deve ser feito um TRACE na sessão que está executando os processos, pegar todos os SELECTS, INSERT, DELETES e etc, para verificar onde pode ajustar sua instância.

 

Se estiver trabalhando com a versão 10g, é bom gerar um AWR de 1 em 1 hora e gerar um relatório completo do dia, para saber onde a instância está pedindo recursos e começar a distribuir, ver se não está com contenção de I/O, gargalos, problemas dos REDO LOGs e etc...

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Submeti as duas maquinas à mesma SELECT, veja os resultados abaixo: ---> CONSULTA NA PRODUCAO:Estatística---------------------------------------------------------- 938 recursive calls 0 db block gets 14779613 consistent gets 3710 physical reads 0 redo size 336 bytes sent via SQL*Net to client 377 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 57 sorts (memory) 0 sorts (disk) 1 rows processed ---> CONSULTA NA MAQ. ANTIGA:Estatística---------------------------------------------------------- 2654 recursive calls 0 db block gets 14748669 consistent gets 1824 physical reads 0 redo size 336 bytes sent via SQL*Net to client 377 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 72 sorts (memory) 0 sorts (disk) 1 rows processed==================================================Percebe-se que houve o DOBRO de "physical reads" na maquina nova!!!Sera pq nela tem RAID 10, com dados distribuidos em DOIS discos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

#@?$%~.... RAID 5 e RAID 10 pode lhe trazer problemas....o mais aconselhável seria um RAID 0 + 1Na máquina nova, aumente o Buffer Cache que tu consegue diminuir o physical reads!!!!!verifica o iostat do servidor... e veja se está tendo WAIT%!!!!Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rodrigo,vou verificar que RAID esta feito...Na verdade eu pensava que o RAID 10 era o mesmo RAID 0 + 1 !!!Só que pelo que andei lendo há diferenca...Essa informação eu só poderei ver segunda mesmo....A intencao era o espelhamento do raid 0... que é a estrutura do RAID 0 + 1... agora se nao estiver assim, vai ser trabalheira...Verificarei o IOSTAT da maquina e te mando segunda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Armando,

 

RAID 1+0 e RAID 0+1 são diferentes!!!

 

leia mais sobre o assunto em:

 

http://en.wikipedia.org/wiki/RAID

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui conexao ainda hoje...veja:# iostat Linux 2.6.9-55.0.2.ELsmp (servidor.dominio.com.br) 08/25/2007avg-cpu: %user %nice %sys %iowait %idle 0.66 0.00 0.07 0.35 98.92vi que ficou baralhado mas o WAIT ficou 0.35...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.