Esse email já foi enviado anteriormente, no entanto, ele voltou...
Data: Tue, 24 Jan 2006 17:38:04 +0000 (GMT) De: "Marcus Vinicius
Miguel Pedro" <[EMAIL PROTECTED]> Assunto: Re: RES: [oracle_br] Shared
Server Performance Para: [email protected] Desculpe a demora,
mas estava resolvendo outros problemas...
Vamos lá:
Máquina:
HP RISC RP4440 - 4 CPU's 800Mhz - 8GB RAM
Sistema Operacional: HP-UX 11.11
Quantidade de memória livre antes de iniciar o banco: 6133336K free
Quantidade de memória após iniciado o banco: 3284656K free
Banco sendo utilizado:
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
Alguns parâmetros:
sga_max_size = 3222765832 bytes
large_pool_size = 369098752 bytes
shared_pool_size = 419430400
shared_servers = 10
max_shared_servers = 150
shared_server_sessions = 165
dispatchers = (protocol=TCP)(disp=1)(con=700)
max_dispatchers = 4
circuits = 170
Nesse primeiro momento, terei no máximo 500 usuários conectados, a aplicação
é PL/Web...não tem nada de Java. A string para conexão da aplicação está como
shared, a conexão é feita através de um middle tier (Oracle Application
Server), mas, isso indifere no resultado final. Pois via SQL*Plus o resultado é
o mesmo.
Quando executo uma procedure específica, conectado como shared o tempo para
execução é de 45 segundos. Como dedicated vai para 10 segundos. Fiz o mesmo
teste num servidor de aplicações de desenvolvimento que aponta para o banco,
mudei a string de conexão e o resultado foi o mesmo:
Dedicated = 10 segs
Shared = 45 segs.
O Explain Plain é praticamente igual, não tem nada de diferente...
Já fiz o teste alternando o número de shared_servers e dispatchers, mas o
resultado foi o mesmo. Inclusive rodei scripts para monitorar o tempo de espera
e performance dos shared_servers e dispatchers, o tempo de espera está mínimo...
Todo o banco está perfeito, todas as procedures estão com ganho de desempenho
em relação à máquina do projeto piloto (que é bem inferior à esta citada acima
e que está com o banco em dedicated), exceto esta procedure...por isso
perguntei no primeiro e-mail se pode ser alguma coisa com as global temporary
tables em conjunto com o shared server, já que essa procedure acessa 3 tabelas
temporárias...Do resto, não enxerguei algo que possa estar prejudicando tanto...
Abraços
Vinicius
jlchiappa <[EMAIL PROTECTED]> escreveu:
Palpite : pra gente não ficar tão na adivinhação, nos informe
exatamente QUAL é esse pool de conexões, COMO vc o montou, QUAL é a
linguagem/tool usada... Eu digo isso pelo seguinte , vc tanto pode
ter um pool de conexões INTERNO ao banco (via shared server, o que
parece ser o seu caso, mas não está claramente dito), OU vc pode ter
um pool de conexões externo (aplicações web java são notórias em
comumente trabalhar assim), se for pool externo há muito pouco que vc
pode fazer no banco, é a aplicação que mantém esse pool externamente,
é ela que dita quantas conexões serão mantidas abertas, é ela que
desconecta quem termina o trabalho....
Já se for pool interno ao banco, via Oracle Shared Server, há
diversas configs que vc pode ajustar, desde a quantidade de
servidores e de dispatchers, até configs de banco como por exemplo
tamanho de shared_pool (de nada adianta vc ter n Gbs de SGA, mas
desses n apenas uns poucos Mbs estarem alocados pra shared_pool),
large_pool_size, e similares : nesse caso, manda uma msg com a versão
EXATA de banco em uso, de Sistema operacional, quanto de RAM livre vc
tem na máquina antes de startar o Oracle, quantoas e quais CPUs
(clock e qtdades) vc tem, que podemos palpitar mais.
Pra completar, a nota Doc ID: Note:47684.1 Subject: Frequently
Asked Questions on Multi-Threaded Server (MTS) fala sobre trace de
MTS (MTS é o nome antigo do Oracle Shared Server), e dá dicas gerais.
E é lógico, um PLANO DE EXECUÇÃO não cai nada mal, simulando o mais
exatamente possível o ambiente : em sendo web, o cliente pro Oracle é
a máquina web server, então o negócio seria capturar EXATAMENTE o SQL
em questão (INCLUSIVE com binds), e num sqlplus a partir dessa
máquina web server, rodar o SQL, com os bins e tudo, pedindo
AUTOTRACE, aí vc tem stats e plano de execução...
[]s
Chiappa
--- Em [email protected], Marcus Vinicius Miguel Pedro
<[EMAIL PROTECTED]> escreveu
>
> Carlos,
>
> Tenho 3G de SGA, e o teste foi feito com apenas este usuário
conectado ao banco.
>
> O parâmetro PGA_AGGREGATE_TARGET está com 100M.
>
> Quanto ao explain plain, só consegui ligar o trace com o server
no modo dedicado. No modo compartilhado o trace não funciona.
>
> Abraços
>
> Vinicius
>
>
>
> "Carlos A.M. Menezes" <[EMAIL PROTECTED]> escreveu:
> Colega,
> Em modo compartilhado a PGA deixa de ser uma área específica
para também conviver dentro da SGA, com isso o tamanho da SGA precisa
ser bem dimensionado. Sem uma análise mais profunda, acho que o SQL
possa está exigindo muito da "shared pool", principalmente da área de
sort. A minha dica é que você rode o "explain plain" do SQL nos dois
modos.
>
> Cordialmente,
>
> Carlos Alfredo M. de Menezes
>
>
> -----Mensagem original-----
> De: [email protected]
[mailto:[EMAIL PROTECTED] Em nome de Marcus Vinicius
Miguel Pedro
> Enviada em: segunda-feira, 23 de janeiro de 2006 13:32
> Para: oracle_br
> Assunto: [oracle_br] Shared Server Performance
>
> Olá pessoal, gostaria do auxílio de vocês...
>
> Tenho o seguinte cenário:
>
> 1) Banco 9.2.0.6.0 rodando no HP-UX 11i.
> O servidor está como dedicado.
> Tenho uma procedure que quando executada via SQL*Plus demora
17segs, pela aplicação (Web), demora 20segs.
>
> 2) Banco 9.2.0.6.0 rodando no HP-UX 11i
> O servidor está como Shared.
> A mesma procedure via SQL*Plus demora 43segs, e, via Web demora
46segs.
>
> A máquina do banco 2 é bem melhor do que a do banco 1, inclusive,
o banco 1 estava como piloto, com alguns usuários acessando. O banco
2 abrangerá todos os usuários...
>
> Todos os testes feitos na aplicação entre os 2 bancos, sempre
tivemos ganho de tempo no banco 2, entretanto, somente essa procedure
que está tendo problemas. Não sei se tem a ver com isso, mas essa
procedure está acessando e alterando 3 tabelas temporárias globais...
>
> Fiz um teste, modificando o server para dedicated, e via SQL*Plus
o tempo foi de 10segs, e via Web de 12segs.
>
> Alguém tem alguma idéia do que pode ser??
>
> Obrigado e abraços!
>
> Vinicius
>
>
> ---------------------------------
> Yahoo! doce lar. Faça do Yahoo! sua homepage.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> --------------------------------------------------------------------
------------------------------------------------------
> Atenção! As mensagens deste grupo são de acesso público e de
inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/[email protected]/
> --------------------------------------------------------------------
------------------------------------------------------
__________________________________________________________________
> Moderador e Fundador: Dorian Anderson Soutto [EMAIL PROTECTED]
> __________________________________________________________________
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
> --------------------------------------------------------------------
------------------------------------------------------
> Atenção! As mensagens deste grupo são de acesso público e de
inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/[email protected]/
> --------------------------------------------------------------------
------------------------------------------------------
__________________________________________________________________
> Moderador e Fundador: Dorian Anderson Soutto [EMAIL PROTECTED]
> __________________________________________________________________
>
>
> Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE
>
>
> ---------------------------------
> Links do Yahoo! Grupos
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/oracle_br/
>
> Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.
>
>
>
>
>
> ---------------------------------
> Yahoo! doce lar. Faça do Yahoo! sua homepage.
>
> ---------------------------------
> Yahoo! doce lar. Faça do Yahoo! sua homepage.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
Moderador e Fundador: Dorian Anderson Soutto [EMAIL PROTECTED]
__________________________________________________________________
Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE
---------------------------------
Links do Yahoo! Grupos
Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/
Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
Yahoo!.
---------------------------------
Yahoo! doce lar. Faça do Yahoo! sua homepage.
[As partes desta mensagem que não continham texto foram removidas]
--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
Moderador e Fundador: Dorian Anderson Soutto [EMAIL PROTECTED]
__________________________________________________________________
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html