Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-14 Por tôpico Sergio Medeiros Santi




Na verdade eu fao o backup e o restore com os
comandos citados, consequentemente (e segundo a verbose do restore e o
log do banco) simplificadamente primeiro  criada a estrutura do banco,
depois so carregados os dados e finalmente aplicadas as restries. O
intrigante  que apenas a restrio citada  que consome tanto tempo
(12 horas). Todo o mais consome 2 horas.

Ontem a noite eliminei manualmente a constraint e reapliquei-a. Ela
comeou a rodar as 22:22 e ainda est rodando. Deve terminar pelas 10
horas de hoje. Este foi o primeiro dos testes sugeridos que estou
realizando e pelo visto est consumindo o tempo previsto (em funo do
histrico do restore) e absurdo de 12 horas. 

O prximo teste que pretendo fazer  trocar a clusula restrict por
noaction conforme sugerido.

Gente ... sei l ... mas esta constraint no est se comportando de
forma minimamente razovel, realmente parece que h algum problema como
os ndices existentes no estarem sendo usados, por exemplo.

No tem jeito de saber o que o PG est fazendo? Como ele planeja a
execuo desta constraint? Ser que os mantenedores no ficariam
felizes de testar um caroo destes, isto  claro, se no tiver nenhuma
mancada no meio? 

Abraos e um bom e produtivo dia a todos.

Sergio Medeiros Santi



Leandro Damascena escreveu:

  Sergio Medeiros Santi escreveu:
  
  
- Fernando. Na verdade a estrategia de backup funciona bem o problema 
 o restore. Felizmente no tive a necessidade de restaurar 
foradamente o banco, s no consigo engolir que de 14 horas, 12 foram 
consumidas apenas por uma constraint. No me parece ser uma referncia 
circular porque o treco demora mas termina e nada  registrado no log 
que pudesse me levar a acreditar nisto.

  
  O Fernando Saimon sugeriu voc criar a constraint primeiro e depois 
subir os dados para ver o resultado, voc fez isso? Se fez por favor 
desconsidere esse e-mail, apenas citei pois voc no explicou se fez ou 
no...

Leandro Damascena
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


__ Informao do NOD32 IMON 2722 (20071214) __

Esta mensagem foi verificada pelo NOD32 sistema antivrus
http://www.eset.com.br



  



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-14 Por tôpico Joao
Acho que isso pode ser uma ajuda
aumente o parametro maintenance_work_mem
- Original Message - 
From: Fabio Telles [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Friday, December 14, 2007 8:22 AM
Subject: Re: [pgbr-geral]Tempo excecivo ao restaurar banco - Mais alguém se 
habilita?


Em 13/12/07, Sergio Medeiros Santi[EMAIL PROTECTED] escreveu:

  Pessoal, vou responder meu próprio e-mail para evitar responder um a um.
 Desde já o meu obrigado a todos.

  Eu particularmente gosto muito deste trabalho investigativo.
Eu também! :-)

Normalmente
 quando descobrimos o que houve percebemos que é possível usar a descoberta
 em outros pontos com expressivos resultados. Infelizmente o PG anda tem
 alguns mistérios a resolver. O principal deles é desenvolver um 
 configurador
 que reuna informações sobre o hardware e sugira uma configuração razoável.
 Isto teria me ajudado bastante quando comecei com o PG. Pelo que olhei das
 apresentações do PGCon a coisa continua mais ou menos igual, não existe
 ciência nisto, mas alguma recomendações (poucas infelizmente).


É meu caro... vida de DBA é difícil mesmo. Eu fico feliz por as coisas
no PostgreSQL serem mais simples. O Oracle tem pelo menos o triplo de
parâmetros documentados, fora uma miríade de parâmetros que só eles
conhecem (medo!). Não há muito como fazer uma configurador automático
confiável. Houve uma thread na lista pg_performance há uns meses atrás
com um esquema para sugerir algumas configurações. Sei que o pessoal
da SUN e da EnterpriseDB também está correndo atrás disso. Mas mesmo
assim não é algo simples. Um bom DBA sempre vai fazer seus próprios
testes e não irá nunca confiar num configurador automático. É claro
que seria um bom ponto de partida ou algo melhor que nada para quem
não tem experiência. Mas quando você tem um banco de dados maiores (em
volume de dados, conexões ou complexidade de consultas), só mesmo um
bom DBA salva a pátria. Nenhum fornecedor de SGDB conseguiu substituir
a inteligência do DBA até hoje... e olhe que eles vivem tentando e
prometendo isso!

  - Fábio. O autovacuum não é utilizado, mas diariamente é disparado um
 backup seguido de um vacuum analyse. Originalmente era usado o vacuum 
 full,
 mas este foi abandonado porque em algumas oportundades ele não terminava e 
 o
 banco ficava travado para os usuário no dia seguinte. O que tenho 
 procurado
 fazer é um backup seguido de restore com alguma periodicidade. Alias é 
 este
 procedimento que me fez questionar esta aplicação de constraint 
 absurdamente
 lenta.

Bom, uma vez que o autovacuum está desligado, mas você tem problemas
com o vacuum full (que realmente não deve ser realizado com
frequência), sugiro você exportar sua base, apagar o cluster inteiro,
cria-lo novamente e importar o banco. É uma operação realmente
delicada, mas se houver algum problema na estrutura de armazenamento,
você deve resolver com isso.

Espero que você tenha um ou mais discos/partições para seus dados. Se
for o caso, bem, seria o caso de desmontar a partição e fazer uma
varredura no disco (antes de recriar o cluster), só para ter certeza
de que está tudo bem e você não tem nenhum bad block no caminho.
Aliás, qual FS você está utilizando? Fez algum tuning no FS?

Se o disco estiver ok, o cluster for novo e o import continuar
demorando tudo isso... estará na hora de uma investigação realmente
mais cuidadosa na sua estrutura de dados.

Atenciosamente,
Fábio Telles
-- 
blog: http://www.midstorm.org/~telles/
e-mail / jabber: [EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-14 Por tôpico Sergio Medeiros Santi




Fbio!

Pelos seus comentrios imagino que voc imagine que o postgres est
rodando em linux, o que no  verdade. Alias este  um dos problema de
se recortar uma mensagem. Detalhes relevantes acabam cortados.

Tudos que citei at o momento est sendo testado em W2K. Notei esta
demora quando em uma manuteno preventiva, fiz um backup, dropei o
banco e fiz o restore. A pesar do banco ser grande achei o tempo de
restore demasiado grande. A partir da comecei a realizar testes em um
servidor backup que no est em produo, com isso tenho a certeza de
que nenhum outro processo o est acessando. Como testei em dois
servidores com processadores, memria e disco distintos no acredito
que o problema advenha de alguma falha fsica. Inclusive o servidor em
produo  um dual xeon, 4G, SAS e o backup  um xeon, 2G, SAS e
diferena entre eles no tempo total de execuo  inferior a 10%.

Eu particularmente suspeito que ou  uma mancada minha ou do postgres
est sendo exercitado em algum ponto cego e desconhecido que produz
esta preformance incompatvel com o banco. Se ele levasse 85% do tempo
total para criar um ndice eu at poderia engolir, mas para aplicar uma
constraint que relaciona um campo que possui ndice com outro que 
chave primria ... t difcil. Mas ainda tenho testes a realizar ...
espero, em breve, dar notcias conclusiva.

Como eu, no desanimem, e continuem enviando sugestes.

Abraos,

Sergio Medeiros Santi



Fabio Telles escreveu:

  Em 13/12/07, Sergio Medeiros Santi[EMAIL PROTECTED] escreveu:
  
  
 Pessoal, vou responder meu prprio e-mail para evitar responder um a um.
Desde j o meu obrigado a todos.

 Eu particularmente gosto muito deste trabalho investigativo.

  
  Eu tambm! :-)

Normalmente
  
  
quando descobrimos o que houve percebemos que  possvel usar a descoberta
em outros pontos com expressivos resultados. Infelizmente o PG anda tem
alguns mistrios a resolver. O principal deles  desenvolver um configurador
que reuna informaes sobre o hardware e sugira uma configurao razovel.
Isto teria me ajudado bastante quando comecei com o PG. Pelo que olhei das
apresentaes do PGCon a coisa continua mais ou menos igual, no existe
cincia nisto, mas alguma recomendaes (poucas infelizmente).


  
  
 meu caro... vida de DBA  difcil mesmo. Eu fico feliz por as coisas
no PostgreSQL serem mais simples. O Oracle tem pelo menos o triplo de
parmetros documentados, fora uma mirade de parmetros que s eles
conhecem (medo!). No h muito como fazer uma configurador automtico
confivel. Houve uma thread na lista pg_performance h uns meses atrs
com um esquema para sugerir algumas configuraes. Sei que o pessoal
da SUN e da EnterpriseDB tambm est correndo atrs disso. Mas mesmo
assim no  algo simples. Um bom DBA sempre vai fazer seus prprios
testes e no ir nunca confiar num configurador automtico.  claro
que seria um bom ponto de partida ou algo melhor que nada para quem
no tem experincia. Mas quando voc tem um banco de dados maiores (em
volume de dados, conexes ou complexidade de consultas), s mesmo um
bom DBA salva a ptria. Nenhum fornecedor de SGDB conseguiu substituir
a inteligncia do DBA at hoje... e olhe que eles vivem tentando e
prometendo isso!

  
  
 - Fbio. O autovacuum no  utilizado, mas diariamente  disparado um
backup seguido de um vacuum analyse. Originalmente era usado o vacuum full,
mas este foi abandonado porque em algumas oportundades ele no terminava e o
banco ficava travado para os usurio no dia seguinte. O que tenho procurado
fazer  um backup seguido de restore com alguma periodicidade. Alias  este
procedimento que me fez questionar esta aplicao de constraint absurdamente
lenta.

  
  
Bom, uma vez que o autovacuum est desligado, mas voc tem problemas
com o vacuum full (que realmente no deve ser realizado com
frequncia), sugiro voc exportar sua base, apagar o cluster inteiro,
cria-lo novamente e importar o banco.  uma operao realmente
delicada, mas se houver algum problema na estrutura de armazenamento,
voc deve resolver com isso.

Espero que voc tenha um ou mais discos/parties para seus dados. Se
for o caso, bem, seria o caso de desmontar a partio e fazer uma
varredura no disco (antes de recriar o cluster), s para ter certeza
de que est tudo bem e voc no tem nenhum bad block no caminho.
Alis, qual FS voc est utilizando? Fez algum tuning no FS?

Se o disco estiver ok, o cluster for novo e o import continuar
demorando tudo isso... estar na hora de uma investigao realmente
mais cuidadosa na sua estrutura de dados.

Atenciosamente,
Fbio Telles
  



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-14 Por tôpico Euler Taveira de Oliveira
Sergio Medeiros Santi wrote:

 - Luiz. Estou usando 32M em shared_buffers e 16M em maintenance_work_mem.
 
32M de shared_buffers? Isso é muito pequeno. Experimente 25% da RAM. Mas
isso não vem ao caso com relação a restauração.
16M de maintenance_work_mem? Isto é muito pequeno. Experimente usar de
10 a 30% da RAM. Em restaurações é recomendado aumentar esse valor para
diminuir o tempo de restauração pois essa fatia da memória é utilizada
pelo VACUUM, CREATE INDEX, ALTER TABLE foo ADD FOREIGN KEY.

Se não resolver, podes me enviar em privado o esquema das duas tabelas
envolvidas com os respectivos CREATE INDEX, ALTER TABLE foo ADD FOREIGN
KEY. Ajudaria se eu pudesse saber o postgresql.conf que está utilizando.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-14 Por tôpico Osvaldo Rosario Kussama
Sergio Medeiros Santi escreveu:
 Não testei o -1 não, mas que mal le pergunte, aplicar uma constraint 
 gera alguma atualização ou apenas valida a restrição?
 
 Abraços,
 
 Sergio Medeiros Santi
 
 
 Osvaldo Rosario Kussama escreveu:
 Ninguém comentou mas você tentou utilizar a opção -1 (ou 
 --single-transaction)?
 http://www.postgresql.org/docs/8.2/interactive/app-pgrestore.html



Creio que esta opção agiliza o processo como um todo. 
Especificamente para a restrição de integridade já sugeriram que 
você ajustasse o maintenance_work_mem. Em:
http://www.powerpostgresql.com/Downloads/annotated_conf_80.html
existe o seguinte comentário:

Specifies the maximum amount of memory to be used in maintenance 
operations, such as VACUUM, CREATE INDEX, and ALTER TABLE ADD 
FOREIGN KEY. The value is specified in kilobytes, and defaults to 
16384 kilobytes (16 MB). Since only one of these operations can 
be executed at a time by a database session, and an installation 
normally doesn't have very many of them happening concurrently, 
it's safe to set this value significantly larger than work_mem. 
Larger settings may improve performance for vacuuming and for 
restoring database dumps.

Formerly vacuum_mem. Renamed to reflect its expanded role in 
allocating memory for index loads.

The default for this is generally too low, and will result in 
VACUUMs and index creation tying up the system I/O and/or object 
locks while it swaps memory. Good settings are generally 32MB to 
256MB; it depends on both the RAM you have available and the size 
of your largest (expected) database objects.

Like work_mem, can be allocated at runtime so you can increase it 
temporarily for loading indexes/creating keys on very large tables.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-14 Por tôpico Osvaldo Rosario Kussama
Sergio Medeiros Santi escreveu:
 Não testei o -1 não, mas que mal le pergunte, aplicar uma constraint 
 gera alguma atualização ou apenas valida a restrição?
 
 Abraços,
 
 Sergio Medeiros Santi
 
 
 Osvaldo Rosario Kussama escreveu:
 Ninguém comentou mas você tentou utilizar a opção -1 (ou 
 --single-transaction)?
 http://www.postgresql.org/docs/8.2/interactive/app-pgrestore.html




Complementando:

Você também pode colocar fsync como off (com os devidos cuidados).

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-14 Por tôpico Sergio Medeiros Santi




Euler:

Estou esperando terminar meu teste anterior onde dropei a constraint
com restrict e estou aplicando com no action, mas como j est rodando
a 4 horas estou acreditando que conforme o previsto no vai fazer muita
diferena no.

Com relao a tua colaborao e como esto testando em um servidor
backup com 2G, enquanto o de produo tem 4G, vou colocar
shared_buffers e maintenence_work_mem em 500M. Acredito que esta
reconfigurao deva melhorar o tempo total do restore, mas custo a crer
que isto v melhorar alguma coisa na tal constraint. Bom depois eu
conto o resultado.

Quanto a te enviar os esquemas no tem problema, mas vou esgotar mais
um pouco meus neurnios antes de consumir os teus.

Um grande abrao,

Sergio Medeiros Santi



Euler Taveira de Oliveira escreveu:

  Sergio Medeiros Santi wrote:

  
  
- Luiz. Estou usando 32M em shared_buffers e 16M em maintenance_work_mem.


  
  32M de shared_buffers? Isso  muito pequeno. Experimente 25% da RAM. Mas
isso no vem ao caso com relao a restaurao.
16M de maintenance_work_mem? Isto  muito pequeno. Experimente usar de
10 a 30% da RAM. Em restauraes  recomendado aumentar esse valor para
diminuir o tempo de restaurao pois essa fatia da memria  utilizada
pelo VACUUM, CREATE INDEX, ALTER TABLE foo ADD FOREIGN KEY.

Se no resolver, podes me enviar em privado o esquema das duas tabelas
envolvidas com os respectivos CREATE INDEX, ALTER TABLE foo ADD FOREIGN
KEY. Ajudaria se eu pudesse saber o postgresql.conf que est utilizando.


  



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Sergio Medeiros Santi




Pessoal:

Ontem as 12 horas eu larguei a restaurao novamente. As novas
informaes so as seguintes:

Tempo total de restaurao olhando pelos logs registrados: 14:03 (14
horas!)
Tempo total da aplicao da constraint listada abaixo: 12:13 (12
horas!!!)

Olha eu agradeo as sugestes de fazer backup "fsico", das informaes
de tempo de outros usurios, mas eu continuo achando que tem algo
errado no meu caso. Uma nica constraint consumindo 12 horas de um
total de 14 horas necessrios! Acho demais. Outro fato interessante 
que, dentro do que acompanhei da aplicao da constraint o consumo de
processador  baixssimo (menos de 10% em um Xeon 2.13), bem como
apresenta baixo consumo de memria e baixa atividade de disco. Parece
simplesmente que esta etapa da restaurao est fazendo corpo mole,
operao tartaruga.

Tambm j citei o tamanho da base (30G ao fazer o backup e 21G aps a
restaurao) e o nmero de registros das duas tabelas envolvidas
(NotaItem com 20.000.000 de registros e Produto com 40.000 registros).
Pelo nvel tcnico das discusses que acompanho nesta lista eu esperava
algum questionamento, ou sugesto mais relacionado ao problemas, ou ao
menos uma afirmao de que os tempos que citei so normais (o que no
acredito).

Algum sabe me dizer o que justifica que uma nica contraint consumir
tanto tempo? A mesma tabela aplica outras constraints em muito menos
tempo (NotaItem com 20.000.000 de registros e NotaFiscal com 1.400.000
registros) por exemplo, consome 4 minutos. Existe alguma forma de fazer
um explain analyse de uma constraint?

Pelo nvel das discusses que tenho acompanhado estou estranhando a
falta de comentrios "profundos" sobre este caso que tenho estudado a
uns 6 meses. Este caso me  bastante instigante e no consigo apenas me
conformar com a situao. De tempos em tempo eu a retomo. Ou resolvo
isto ou acho uma explicao plausvel sobre o caso. No pretendo
concluir que este fato deva-se a "Vontade de Deus" e que devo me
resignar. 

No vou jogar isto para baixo do tapete!


Sergio Medeiros Santi



Sergio Medeiros Santi escreveu:

  
  Gente:
  
Essa discusso sobre o backup "fsico" foi bem elucidativo, mas
voltando a origem da thread ... Ningum, alm de mim, acha estranho que
todo o processo de restore consuma 12 horas, sendo que uma nica
contraint consuma 3/4 deste tempo e que o resto criao da estrutura,
carga dos dados, criao de indices, criao de todas as demais
constraints consuma apenas 1/4 do tempo?
  
No exemplo abaixo eu j verifiquei e existe ndice pelos dois campos
envolvidos um deles  a prpria primary key.
  
  ALTER TABLE ONLY
"NotaItem" ADD Constraint
 "NotaItem_CodigoProduto_Produto_FK" FOREGN KEY
("CodigoProdutoItem" REFERENCES 
 "Produto" ("CodigoInternoProduto") MATH FULL ON UPDATE RESTRICT
ON DELETE RESTRICT;
  
  Posso at estar enganado, mas tem que haver uma
explicao para este tempo absurdo ou alguma mancada muito grande.
  
Abraos,
  
  Sergio Medeiros Santi
  
  
  
  
__ Informao do NOD32 IMON 2719 (20071212) __
  
Esta mensagem foi verificada pelo NOD32 sistema antivrus
  http://www.eset.com.br
  

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


__ Informao do NOD32 IMON 2719 (20071212) __

Esta mensagem foi verificada pelo NOD32 sistema antivrus
http://www.eset.com.br

  



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Evandro Ricardo Silvestre




Sergio Medeiros Santi escreveu:

  


ALTER TABLE ONLY
"NotaItem" ADD Constraint
 "NotaItem_CodigoProduto_Produto_FK" FOREGN KEY
("CodigoProdutoItem" REFERENCES 
 "Produto" ("CodigoInternoProduto") MATH FULL ON UPDATE RESTRICT
ON DELETE RESTRICT;


J tentou alterar de RESTRICT para NO ACTION?
A coluna notaitem.codigoprodutoitem tem INDEX?
Se voc simplesmente dropar a fk e cri-la novamente (pelo pgAdmin
mesmo) fica lento?

Att

Evandro


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Fernando Simon
Olá Sergio,
Você não pode mudar só um pouco a estratégia do seu backup/restore?
Por exemplo, primeiro você faz uma restauração somente do esquema da
tua base, tabelas, constraints e afins.
E depois, como segunda etapa, restaurar somente os dados? Pode ser
uma possibilidade.
Alguns outros detalhes, você não está com nenhuma trigger sendo
disparada nessa tabela ou em alguma outra? Não tem nenhum lock travando
esta tabela, ou uma referência circular?
Qualquer coisa, você pode postar o problema para o pessoal da lista
oficial do PG, talvez a performance ou a admin possam lhe ajudar.
Até mais.

Fernando Simon


Sergio Medeiros Santi wrote:
 Pessoal:

 Ontem as 12 horas eu larguei a restauração novamente. As novas
 informações são as seguintes:

 Tempo total de restauração olhando pelos logs registrados: 14:03 (14
 horas!)
 Tempo total da aplicação da constraint listada abaixo: 12:13 (12 horas!!!)

 Olha eu agradeço as sugestões de fazer backup físico, das
 informações de tempo de outros usuários, mas eu continuo achando que
 tem algo errado no meu caso. Uma única constraint consumindo 12 horas
 de um total de 14 horas necessários! Acho demais. Outro fato
 interessante é que, dentro do que acompanhei da aplicação da
 constraint o consumo de processador é baixíssimo (menos de 10% em um
 Xeon 2.13), bem como apresenta baixo consumo de memória e baixa
 atividade de disco. Parece simplesmente que esta etapa da restauração
 está fazendo corpo mole, operação tartaruga.

 Também já citei o tamanho da base (30G ao fazer o backup e 21G após a
 restauração) e o número de registros das duas tabelas envolvidas
 (NotaItem com 20.000.000 de registros e Produto com 40.000 registros).
 Pelo nível técnico das discussões que acompanho nesta lista eu
 esperava algum questionamento, ou sugestão mais relacionado ao
 problemas, ou ao menos uma afirmação de que os tempos que citei são
 normais (o que não acredito).

 Alguém sabe me dizer o que justifica que uma única contraint consumir
 tanto tempo? A mesma tabela aplica outras constraints em muito menos
 tempo (NotaItem com 20.000.000 de registros e NotaFiscal com 1.400.000
 registros) por exemplo, consome 4 minutos. Existe alguma forma de
 fazer um explain analyse de uma constraint?

 Pelo nível das discussões que tenho acompanhado estou estranhando a
 falta de comentários profundos sobre este caso que tenho estudado a
 uns 6 meses. Este caso me é bastante instigante e não consigo apenas
 me conformar com a situação. De tempos em tempo eu a retomo. Ou
 resolvo isto ou acho uma explicação plausível sobre o caso. Não
 pretendo concluir que este fato deva-se a Vontade de Deus e que devo
 me resignar.

 Não vou jogar isto para baixo do tapete!

 Sergio Medeiros Santi
   


 Sergio Medeiros Santi escreveu:
 Gente:

 Essa discussão sobre o backup físico foi bem elucidativo, mas
 voltando a origem da thread ... Ninguém, além de mim, acha estranho
 que todo o processo de restore consuma 12 horas, sendo que uma única
 contraint consuma 3/4 deste tempo e que o resto criação da estrutura,
 carga dos dados, criação de indices, criação de todas as demais
 constraints consuma apenas 1/4 do tempo?

 No exemplo abaixo eu já verifiquei e existe índice pelos dois campos
 envolvidos um deles é a própria primary key.

 ALTER TABLE ONLY NotaItem ADD Constraint
   NotaItem_CodigoProduto_Produto_FK FOREGN KEY
 (CodigoProdutoItem REFERENCES
   Produto (CodigoInternoProduto) MATH FULL ON UPDATE RESTRICT
 ON DELETE RESTRICT;

 Posso até estar enganado, mas tem que haver uma explicação para este
 tempo absurdo ou alguma mancada muito grande.

 Abraços,
 Sergio Medeiros Santi
   



 __ Informação do NOD32 IMON 2719 (20071212) __

 Esta mensagem foi verificada pelo NOD32 sistema antivírus
 http://www.eset.com.br
 

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


 __ Informação do NOD32 IMON 2719 (20071212) __

 Esta mensagem foi verificada pelo NOD32 sistema antivírus
 http://www.eset.com.br

   
 

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
   

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Luiz Matsumura
Olá,
Olhando um pouco no histórico da lista performance foi sugerido que se
aumentasse a memoria utilizada para a criação de indices
(maintenance_work_mem)

em uma maquina com 2G de memoria foi sugerido algo assim:

shared_buffers = 2
maintenance_work_mem = 256000

infelizmente não sei o resultado pois apararentementaa pessoa que
estava com o problema não postou se isso resolveu

Espero que isto ajude.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Sergio Medeiros Santi




Pessoal, vou responder meu prprio e-mail para
evitar responder um a um. Desde j o meu obrigado a todos.

Eu particularmente gosto muito deste trabalho investigativo.
Normalmente quando descobrimos o que houve percebemos que  possvel
usar a descoberta em outros pontos com expressivos resultados.
Infelizmente o PG anda tem alguns mistrios a resolver. O principal
deles  desenvolver um configurador que reuna informaes sobre o
hardware e sugira uma configurao razovel. Isto teria me ajudado
bastante quando comecei com o PG. Pelo que olhei das apresentaes do
PGCon a coisa continua mais ou menos igual, no existe cincia nisto,
mas alguma recomendaes (poucas infelizmente).

Bem voltando ao assunto. Eu no eliminei a constraint e a recriei
porque acredito que ela sonsumir o mesmo tempo que levou no restore.
Configurei o postgres.conf para registrar tudo com mais de 500 ms e a
criao desta constraint est l, bem clara, com os valores que forneci
anteriormente.

Seguem algumas respostas a perguntas que me foram feitas:

- Dickson. No h nada rodando no servidor, alm do restore. O servidor
est dedicado a este teste.

- Cludio. No testei eliminar e recriar a constraint, mas tambm tenho
uma forte suspeita de que por algum motivo ele no esteja usando os
ndices, uma vez que os dois so bastante explcitos, sendo um a pk.

- Leandro. O tempo de backup  de 1 hora e de vacuum analyse de 4
horas. Como o cliente fica 8 horas fechado o tempo est sendo
suficiente. Por outro lado eu tenho achado to estimulante este caso
que estou preferindo dividir minhas pesquisas, concluses e dvidas com
a lista do que invocar algum guru. Contudo no tenho nenhum problema
com isso e j usei-os em alguma ocasies onde no havia tempo para
aprender ou para resolver o problema.

- Evandro. No alterei o restrict para noaction porque achava que eram
a mesma coisa. Acho que vou testar isto antes de dropar a constraint e
recri-la.

- Fernando. Na verdade a estrategia de backup funciona bem o problema 
o restore. Felizmente no tive a necessidade de restaurar foradamente
o banco, s no consigo engolir que de 14 horas, 12 foram consumidas
apenas por uma constraint. No me parece ser uma referncia circular
porque o treco demora mas termina e nada  registrado no log que
pudesse me levar a acreditar nisto.

- Fbio. O autovacuum no  utilizado, mas diariamente  disparado um
backup seguido de um vacuum analyse. Originalmente era usado o vacuum
full, mas este foi abandonado porque em algumas oportundades ele no
terminava e o banco ficava travado para os usurio no dia seguinte. O
que tenho procurado fazer  um backup seguido de restore com alguma
periodicidade. Alias  este procedimento que me fez questionar esta
aplicao de constraint absurdamente lenta. 

- Luiz. Estou usando 32M em shared_buffers e 16M em
maintenance_work_mem.

Bem gente era isto vou usar todas estas consideraes para novos teste
assim que tiver novidades eu posto. Outra coisa. No sei se esta minha
idia de reunir tudo num nico e-mail foi muito boa. A idia era
sintetizar tudo e evitar repetir consideraes.

Abraos a todos,

Sergio Medeiros Santi



Sergio Medeiros Santi escreveu:

  
  Pessoal:
  
Ontem as 12 horas eu larguei a restaurao novamente. As novas
informaes so as seguintes:
  
Tempo total de restaurao olhando pelos logs registrados: 14:03 (14
horas!)
Tempo total da aplicao da constraint listada abaixo: 12:13 (12
horas!!!)
  
Olha eu agradeo as sugestes de fazer backup "fsico", das informaes
de tempo de outros usurios, mas eu continuo achando que tem algo
errado no meu caso. Uma nica constraint consumindo 12 horas de um
total de 14 horas necessrios! Acho demais. Outro fato interessante 
que, dentro do que acompanhei da aplicao da constraint o consumo de
processador  baixssimo (menos de 10% em um Xeon 2.13), bem como
apresenta baixo consumo de memria e baixa atividade de disco. Parece
simplesmente que esta etapa da restaurao est fazendo corpo mole,
operao tartaruga.
  
Tambm j citei o tamanho da base (30G ao fazer o backup e 21G aps a
restaurao) e o nmero de registros das duas tabelas envolvidas
(NotaItem com 20.000.000 de registros e Produto com 40.000 registros).
Pelo nvel tcnico das discusses que acompanho nesta lista eu esperava
algum questionamento, ou sugesto mais relacionado ao problemas, ou ao
menos uma afirmao de que os tempos que citei so normais (o que no
acredito).
  
Algum sabe me dizer o que justifica que uma nica contraint consumir
tanto tempo? A mesma tabela aplica outras constraints em muito menos
tempo (NotaItem com 20.000.000 de registros e NotaFiscal com 1.400.000
registros) por exemplo, consome 4 minutos. Existe alguma forma de fazer
um explain analyse de uma constraint?
  
Pelo nvel das discusses que tenho acompanhado estou estranhando a
falta de comentrios "profundos" sobre este caso que tenho estudado a
uns 6 meses. Este caso me  bastante instigante e no consigo apenas me
conformar com a situao. De tempos em tempo eu a retomo. Ou resolvo
isto ou acho uma explicao plausvel 

Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Osvaldo Rosario Kussama
Sergio Medeiros Santi escreveu:
 Pessoal, vou responder meu próprio e-mail para evitar responder um a um. 
 Desde já o meu obrigado a todos.
 
 Eu particularmente gosto muito deste trabalho investigativo. Normalmente 
 quando descobrimos o que houve percebemos que é possível usar a 
 descoberta em outros pontos com expressivos resultados. Infelizmente o 
 PG anda tem alguns mistérios a resolver. O principal deles é desenvolver 
 um configurador que reuna informações sobre o hardware e sugira uma 
 configuração razoável. Isto teria me ajudado bastante quando comecei com 
 o PG. Pelo que olhei das apresentações do PGCon a coisa continua mais ou 
 menos igual, não existe ciência nisto, mas alguma recomendações (poucas 
 infelizmente).
 
 Bem voltando ao assunto. Eu não eliminei a constraint e a recriei porque 
 acredito que ela sonsumirá o mesmo tempo que levou no restore. 
 Configurei o postgres.conf para registrar tudo com mais de 500 ms e a 
 criação desta constraint está lá, bem clara, com os valores que forneci 
 anteriormente.
 
 Seguem algumas respostas a perguntas que me foram feitas:
 
 - Dickson. Não há nada rodando no servidor, além do restore. O servidor 
 está dedicado a este teste.
 
 - Cláudio. Não testei eliminar e recriar a constraint, mas também tenho 
 uma forte suspeita de que por algum motivo ele não esteja usando os 
 índices, uma vez que os dois são bastante explícitos, sendo um a pk.
 
 -  Leandro. O tempo de backup é de 1 hora e de vacuum analyse de 4 
 horas. Como o cliente fica 8 horas fechado o tempo está sendo 
 suficiente. Por outro lado eu tenho achado tão estimulante este caso que 
 estou preferindo dividir minhas pesquisas, conclusões e dúvidas com a 
 lista do que invocar algum guru. Contudo não tenho nenhum problema com 
 isso e já usei-os em alguma ocasiões onde não havia tempo para aprender 
 ou para resolver o problema.
 
 - Evandro. Não alterei o restrict para noaction porque achava que eram a 
 mesma coisa. Acho que vou testar isto antes de dropar a constraint e 
 recriá-la.
 
 - Fernando. Na verdade a estrategia de backup funciona bem o problema é 
 o restore. Felizmente não tive a necessidade de restaurar forçadamente o 
 banco, só não consigo engolir que de 14 horas, 12 foram consumidas 
 apenas por uma constraint. Não me parece ser uma referência circular 
 porque o treco demora mas termina e nada é registrado no log que pudesse 
 me levar a acreditar nisto.
 
 - Fábio. O autovacuum não é utilizado, mas diariamente é disparado um 
 backup seguido de um vacuum analyse. Originalmente era usado o vacuum 
 full, mas este foi abandonado porque em algumas oportundades ele não 
 terminava e o banco ficava travado para os usuário no dia seguinte. O 
 que tenho procurado fazer é um backup seguido de restore com alguma 
 periodicidade. Alias é este procedimento que me fez questionar esta 
 aplicação de constraint absurdamente lenta.
 
 - Luiz. Estou usando 32M em shared_buffers e 16M em maintenance_work_mem.
 
 Bem gente era isto vou usar todas estas considerações para novos teste 
 assim que tiver novidades eu posto. Outra coisa. Não sei se esta minha 
 idéia de reunir tudo num único e-mail foi muito boa. A idéia era 
 sintetizar tudo e evitar repetir considerações.
 
 Abraços a todos,
 
 Sergio Medeiros Santi
 
 
 
 Sergio Medeiros Santi escreveu:
 Pessoal:

 Ontem as 12 horas eu larguei a restauração novamente. As novas 
 informações são as seguintes:

 Tempo total de restauração olhando pelos logs registrados: 14:03 (14 
 horas!)
 Tempo total da aplicação da constraint listada abaixo: 12:13 (12 horas!!!)

 Olha eu agradeço as sugestões de fazer backup físico, das 
 informações de tempo de outros usuários, mas eu continuo achando que 
 tem algo errado no meu caso. Uma única constraint consumindo 12 horas 
 de um total de 14 horas necessários! Acho demais. Outro fato 
 interessante é que, dentro do que acompanhei da aplicação da 
 constraint o consumo de processador é baixíssimo (menos de 10% em um 
 Xeon 2.13), bem como apresenta baixo consumo de memória e baixa 
 atividade de disco. Parece simplesmente que esta etapa da restauração 
 está fazendo corpo mole, operação tartaruga.

 Também já citei o tamanho da base (30G ao fazer o backup e 21G após a 
 restauração) e o número de registros das duas tabelas envolvidas 
 (NotaItem com 20.000.000 de registros e Produto com 40.000 registros). 
 Pelo nível técnico das discussões que acompanho nesta lista eu 
 esperava algum questionamento, ou sugestão mais relacionado ao 
 problemas, ou ao menos uma afirmação de que os tempos que citei são 
 normais (o que não acredito).

 Alguém sabe me dizer o que justifica que uma única contraint consumir 
 tanto tempo? A mesma tabela aplica outras constraints em muito menos 
 tempo (NotaItem com 20.000.000 de registros e NotaFiscal com 1.400.000 
 registros) por exemplo, consome 4 minutos. Existe alguma forma de 
 fazer um explain analyse de uma constraint?

 Pelo nível das discussões que 

Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Sergio Medeiros Santi




No testei o -1 no, mas que mal le pergunte,
aplicar uma constraint gera alguma atualizao ou apenas valida a
restrio?

Abraos,

Sergio Medeiros Santi


Osvaldo Rosario Kussama escreveu:

  
Ningum comentou mas voc tentou utilizar a opo -1 (ou 
--single-transaction)?
http://www.postgresql.org/docs/8.2/interactive/app-pgrestore.html

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


__ Informao do NOD32 IMON 2721 (20071213) __

Esta mensagem foi verificada pelo NOD32 sistema antivrus
http://www.eset.com.br



  



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tempo excecivo ao restaurar banco - M ais alguém se habilita?

2007-12-13 Por tôpico Leandro Damascena
Sergio Medeiros Santi escreveu:

 - Fernando. Na verdade a estrategia de backup funciona bem o problema 
 é o restore. Felizmente não tive a necessidade de restaurar 
 forçadamente o banco, só não consigo engolir que de 14 horas, 12 foram 
 consumidas apenas por uma constraint. Não me parece ser uma referência 
 circular porque o treco demora mas termina e nada é registrado no log 
 que pudesse me levar a acreditar nisto.
O Fernando Saimon sugeriu você criar a constraint primeiro e depois 
subir os dados para ver o resultado, você fez isso? Se fez por favor 
desconsidere esse e-mail, apenas citei pois você não explicou se fez ou 
não...

Leandro Damascena
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral