Lentidão no ERP

114 views
Skip to first unread message

Rafael de Melo Barbosa

unread,
Jul 7, 2014, 4:28:32 PM7/7/14
to openerp...@googlegroups.com
Prezados,

Minha empresa está usando o módulo de projetos do openerp e o mesmo fica muito lento, travando.

Ele está na Amazon EC2, em um ubuntu server.

As vezes quando clicamos em uma tarefa ele fica carregando por minutos... Também apresenta mensagem de carregando quando começamos a digitar algo, por exemplo, preencher o formulário de cadastro de tarefa ou projeto. O sistema fica com a mensagem carregando e depois ainda sugere um cafézinho rsrs.

A máquina que estou usando está especificada abaixo:
vCPU ECU Memória (GiB) Armazenamento da instância (GB)






m1.small11.71 x 160



Alguém já passou por este cenário? Acredita que é a máquina que precisa ter um belo upgrade? eu verifique em Ações Agendadas e só tem o default, acredito não impactar na lentidão,

Grato desde já

Alexsandro Haag

unread,
Jul 7, 2014, 5:06:42 PM7/7/14
to openerp...@googlegroups.com
Olá Rafael,
   uma alternativa interessante no ambiente da Amazon é utilizar o serviço RDS para o Postgres. Possivelmente com ele você consiga uma boa escalabilidade.

Mas também, o primeiro item a considerar é verificar suas configurações atuais do Postgres instalado no seu ambiente EC2.

Aqui na wiki do Postgres tem alguns artigos com considerações sobre tuning:
https://wiki.postgresql.org/wiki/Performance_Optimization

Também você não nos informou sobre o tamanho da base de dados, usuários simultâneos...

É interessante também observar o comportamento (carga da instância EC2) observando os picos de processamento, I/O, memória, etc...
Mas uma revisão das configurações do Postgres já deve dar um bom resultado.

Outro fator importante é rodar eventualmente um vacuum na base, ou ainda, deixar pre-configurado de forma automática.

Att.
Alex
--
Você recebeu essa mensagem porque está inscrito no grupo quot;OdooBrasil / OpenERPBrasil.org" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para openerp-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Rafael de Melo Barbosa

unread,
Jul 7, 2014, 5:29:52 PM7/7/14
to openerp...@googlegroups.com
Obrigado Alex,

vou executar sua recomendação! Abs!

Rafael de Melo Barbosa

unread,
Jul 9, 2014, 5:00:41 PM7/9/14
to openerp...@googlegroups.com
Alex, eu criei rotina de vacum e melhorou um pouco. Agora estou partindo para criar uma instancia de postgresql no RDS da AWS e apontar a instalação do EC2 pra lá. Você saberia me dizer um passo a passo pra eu fazer isso?

Eu não estou nem conseguindo acessar o postgres do EC2 pelo pgadmin, por exemplo.

me perdi um pouco neste ponto. 

Onde fica a string de conexão do openerp?

Abs e obrigado

Em 7 de julho de 2014 18:06, Alexsandro Haag <alexsan...@gmail.com> escreveu:

Paulo Afonso Cangussu

unread,
Jul 9, 2014, 5:03:51 PM7/9/14
to openerp...@googlegroups.com

Paulo Cangussu
On 09-07-2014 18:00, Rafael de Melo Barbosa wrote:
Alex, eu criei rotina de vacum e melhorou um pouco. Agora estou partindo para criar uma instancia de postgresql no RDS da AWS e apontar a instalação do EC2 pra lá. Você saberia me dizer um passo a passo pra eu fazer isso?
Configurou o kernel para max shared memory ?
Configurou o shared memory do postgres para uma quantidade decente? (padrão de 20 a 32mb)



Eu não estou nem conseguindo acessar o postgres do EC2 pelo pgadmin, por exemplo.

Liberou a porta do postgres no painel do Amazon?
Colocou o Postgres para ouvir na sua interface ethernet? (padrao loopback)

Jefferson Andrade

unread,
Jul 9, 2014, 7:23:29 PM7/9/14
to openerp...@googlegroups.com
Já está utilizando o postgres 9.2? Se não, recomendo utilizar. A performance quase dobrou, no meu caso.

Raphael Valyi

unread,
Jul 9, 2014, 9:00:16 PM7/9/14
to openerp...@googlegroups.com
Rafael,

melhor vc analisar o uso dos indexes primeiro.
Pelo que voce falou, um search apenas era lento. Um search quasi que nao faz nada a na ser chamar um SELECT no SQL. Vale a pena vc verficicar se as coisas buscadas tem um index.
Olha so, recentemente, eu descobri que todos campos que os caras tinham botado naquele sistema dos edereços na v7, eles tinham esquecido dos indexes por examplo. Botei foi tipo entre 10x e 50x mais rapido para o tipo de operaçao que era feito. Ou seja um ganho bem maior do que botar um servidor maior. Depois falei para a OpenERP SA uns 3 meses atras e eles acabaram botando, mas é bem provavel que voce ou tenha uma versao anterior ou que se trata de um outro tipo de consulta onde faltaria os indexes tb.
Depois tem outras coisas para vc verificar. Se voce instalou modulos de terceiros u que fizeram, voces tem que controlar se a leitura dos campos tem um tempo tipo log(n) do numero de registros ou se parte para n^2 ou pior de acordo com a forma como esta programado. Por examplo se vce esquece um pre-fetch e faz um browse dentro de um loop dos ids, vc vai para n^2 ou n^3 ja.

Antes antes de pensar optimisar os servidor, vc tem muito mais para ganhar em analisar os processos lentos e e ver se nao teria alguma optimizaçao algoritmica a ser feita. Se vc por examplo tem um n^3 onde deveria ter um log(n), vc pode se lascar em pagar servidor 10x mais carro, vc nao vai resolver o problema.

Boa sorte.

-- 
Raphaël Valyi
Founder and consultant

Raphael Valyi

unread,
Jul 9, 2014, 9:08:26 PM7/9/14
to openerp...@googlegroups.com
2014-07-09 22:00 GMT-03:00 Raphael Valyi <rva...@gmail.com>:
Rafael,

melhor vc analisar o uso dos indexes primeiro.
Pelo que voce falou, um search apenas era lento. Um search quasi que nao faz nada a na ser chamar um SELECT no SQL. Vale a pena vc verficicar se as coisas buscadas tem um index.
Olha so, recentemente, eu descobri que todos campos que os caras tinham botado naquele sistema dos edereços na v7, eles tinham esquecido dos indexes por examplo. Botei foi tipo entre 10x e 50x mais rapido para o tipo de operaçao que era feito. Ou seja um ganho bem maior do que botar um servidor maior. Depois falei para a OpenERP SA uns 3 meses atras e eles acabaram botando, mas é bem provavel que voce ou tenha uma versao anterior ou que se trata de um outro tipo de consulta onde faltaria os indexes tb.
Depois tem outras coisas para vc verificar. Se voce instalou modulos de terceiros u que fizeram, voces tem que controlar se a leitura dos campos tem um tempo tipo log(n) do numero de registros ou se parte para n^2 ou pior de acordo com a forma como esta programado. Por examplo se vce esquece um pre-fetch e faz um browse dentro de um loop dos ids, vc vai para n^2 ou n^3 ja.

Antes antes de pensar optimisar os servidor, vc tem muito mais para ganhar em analisar os processos lentos e e ver se nao teria alguma optimizaçao algoritmica a ser feita. Se vc por examplo tem um n^3 onde deveria ter um log(n), vc pode se lascar em pagar servidor 10x mais carro, vc nao vai resolver o problema.

Boa sorte.

-- 
Raphaël Valyi
Founder and consultant

No caso, o modulo que mais deu dor de cabeça de lentidao que eu fiquei sabendo era o account_report_company. Pode verificar que vc nao tem instalado, ou se tiver entao que se trata de uma versao recetente com aquele fix:

Quem sabe se for isso...
Sei que aquele patch aliviou muita gente.

Atts.

Rafael de Melo Barbosa

unread,
Jul 11, 2014, 10:30:55 AM7/11/14
to openerp...@googlegroups.com
Obrigado a todos pela ajuda. Eu estou verificando indexes! Bem, no meu caso eu estava com um servidor bem lento e o postgres na mesma maquina. 
Agora estou isolando o postgres da maquina da aplicação. Tenho tido algumas dificuldades,
Eu fiz um backup do banco que está na instancia da aplicação e um restore pra um banco em outra instancia, no caso um serviço RDS na AWS. MAS agora eu mudei o arquivo \openerp-server.conf para os dados de conexão do novo banco restaurado, restartei o openerp e a aplicação dá erro, não conecta mais. Como eu troco a string de conexão pro banco novo? era só alterar este arquivo?


--

Raphael Valyi

unread,
Jul 11, 2014, 10:55:40 AM7/11/14
to openerp...@googlegroups.com
Rafael,

verifique tambem que se voce usava o metodo de autenticaçao Postgres 'ident' que eu recomendo, isso so funciona no mesmo host. Se o Postgres for em outro lugar, entao tem que usar outra autenticaçao, como md5.

Att.

-- 
Raphaël Valyi
Founder and consultant

Rafael de Melo Barbosa

unread,
Jul 11, 2014, 11:06:07 AM7/11/14
to openerp...@googlegroups.com
uso md5 mesmo.

Alexsandro Haag

unread,
Jul 11, 2014, 12:28:45 PM7/11/14
to openerp...@googlegroups.com
Rafael,
  você chegou a liberar a porta no Security Group da sua instância?

Alex

Rafael de Melo Barbosa

unread,
Jul 11, 2014, 4:01:30 PM7/11/14
to openerp...@googlegroups.com
Sim, liberei pra 5432.

Eu fiz o restore pra o banco do RDS, mas não sei trocar a connection string do Open ERP pra outro host.


Alexsandro Haag

unread,
Jul 11, 2014, 4:54:35 PM7/11/14
to openerp...@googlegroups.com
A string de conexão do Openerp é montada dinamicamente de acordo com a informação do seu arquivo openerp-server.conf.

Alex
Reply all
Reply to author
Forward
0 new messages