Então... Fechar eu tenho certeza que fecha.
Monitorei os processos por um bom tempo. E todos os processos postgres abrem e fecham. Ou seja, a conexão está abrindo e fechando. Mas em determinados momentos travam. _____ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Fernando Amorim Sent: quarta-feira, 6 de dezembro de 2006 10:50 To: Grupo de Usuários do PostgreSQL no Brasil Subject: Re: [PostgreSQL-Brasil] Muitos Processos postgres no Linux Meu velho tente fazer o seguinte, feche a conexão do e depois feche o statemente e o resultset se vc vinher a utilizar o mesmo. outra coisa, eu não tenho certeza que vc ira fechar a conexao com stmt.getConnection().close(); caso a opção anterior não funcione tente pegar o Objeto connection e fechar o mesmo com conn.close(); espero que ajude. On 12/6/06, Alexandre Biancuzzi <[EMAIL PROTECTED] > wrote: Opa! É pra já. public class Datasource { private Statement stmt; private String _NomeBanco; private String _Server; private String _UID; private String _Pass; public Datasource(String NomeBanco, String Server, String UID, String Pass){ _NomeBanco = NomeBanco; _Server = Server; _UID = UID; _Pass = Pass; } private Connection AbreConn() throws SQLException, ClassNotFoundException{ try{ Class.forName("org.postgresql.Driver"); String url = "jdbc:postgresql://" + _Server + "/" + _NomeBanco + "?charSet=LATIN1"; return DriverManager.getConnection(url, _UID, _Pass); }catch(SQLException ex){ throw new SQLException("Erro ao abrir a conexão\n " + ex.getMessage()); } } public void FechaConn() throws SQLException{ if(!stmt.getConnection().isClosed()){ stmt.getConnection().close(); } } public ResultSet getBySQL(String strSQL) throws Exception{ try{ stmt = AbreConn().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); return stmt.executeQuery(strSQL); }catch(Exception ex){ throw new Exception(ex.getMessage()); }finally{ FechaConn(); } } public void AddBySQL(String strSQL) throws SQLException, ClassNotFoundException{ try{ stmt = AbreConn().createStatement(); stmt.executeUpdate(strSQL); }catch(SQLException ex){ throw new SQLException(ex.getMessage()); }catch(ClassNotFoundException ex2){ throw new SQLException(ex2.getMessage()); }finally{ FechaConn(); } }} _____ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Fernando Amorim Sent: quarta-feira, 6 de dezembro de 2006 10:25 To: Grupo de Usuários do PostgreSQL no Brasil Subject: Re: [PostgreSQL-Brasil] Muitos Processos postgres no Linux Tive esse problema mais foi devido ao fato das conexões não estarem sendo fechadas apropriada mente. Qual servidor de aplicação vc esta utilizando? Mostre o codigo que fecha as conexões. On 12/6/06, Iannsp <[EMAIL PROTECTED]> wrote: Olá Alexandre, procure fazer um lenvantamento de quantos usuarios estao trabalhando comcomitantenmente em seu site, ou seja, a carga de conexoes ao banco que seu site gera. cruze estas informações com algum tipo de medição de qual a carga que o SGDB esta preparado para receber . Esta informação voce pode conseguir de uma forma aproximada ou até exata, se voce estabelecer um testes baseado em seu banco de dados usando um aplicativo do proprio postgreSQL chamado pgbench, em minha pagina tenho um artigo sobre ele em http://www.ianntech.com.br/index.php?Tab=1 <http://www.ianntech.com.br/index.php?Tab=1&item=9&subitem=40> &item=9&subitem=40 e fico feliz se este artigo puder ajuda-lo. No mais o que me parecer é que o SGDB esta recebendo mais tarefas do que esta capacitado para realizar concomitantemente e por isso voce tem o delay na sua aplicação. Alexandre Biancuzzi escreveu: > > Pessoal, > > > > Estou enfrentando um problema meio grave com o Postgre + java no linux. > > Tenho um software de comércio eletrônico que está dando umas travadas. > > > > Visualizando os processos no linux, aparecem vários processos postgres > como o exemplo abaixo: > > postgres 323 0.0 0.3 16960 3712 ? S 17:34 0:00 > postgres: MotoStore BaseDados 127.0.0.1(50950) UPDATE waiting > > postgres 432 0.0 0.9 16960 10204 ? S 17:35 0:00 > postgres: MotoStore BaseDados 127.0.0.1(50994) SELECT > > postgres 436 0.0 1.0 16960 10492 ? S 17:35 0:00 > postgres: MotoStore BaseDados 127.0.0.1(50996) SELECT > > postgres 441 0.0 1.0 16960 10460 ? S 17:35 0:00 > postgres: MotoStore BaseDados 127.0.0.1(50997) SELECT > > postgres 608 0.0 1.0 16960 10616 ? S 17:36 0:00 > postgres: MotoStore BaseDados 127.0.0.1(51013) SELECT > > postgres 618 0.0 1.0 16960 10620 ? S 17:36 0:00 > postgres: MotoStore BaseDados 127.0.0.1(51014) SELECT > > postgres 649 0.0 1.0 16960 10460 ? S 17:36 0:00 > postgres: MotoStore BaseDados 127.0.0.1(51015) SELECT > > postgres 653 0.0 1.0 16960 10608 ? D 17:36 0:00 > postgres: MotoStore BaseDados 127.0.0.1(51016) SELECT > > > > Em certos momentos, o número de processos postgres aumenta > vertiginosamente (mais 50 processos) que acabam deixando o site muito > lento. Já procurei sobre o problema e não encontrei nada para ter > referência. > > Já chequei todos os códigos de acesso ao banco e todos abrem e fecham > a conexão. > > > > Esse é o código que uso para abrir retornar ResultSet e adicionar registro > > > > public ResultSet getBySQL(String strSQL) throws Exception{ > > try{ > > stmt = > AbreConn().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, > ResultSet.CONCUR_READ_ONLY); > > return stmt.executeQuery(strSQL); > > }catch(Exception ex){ > > throw new Exception(ex.getMessage()); > > }finally{ > > FechaConn(); > > } > > } > > public void AddBySQL(String strSQL) throws SQLException, > ClassNotFoundException{ > > try{ > > stmt = AbreConn().createStatement(); > > stmt.executeUpdate(strSQL); > > }catch(SQLException ex){ > > throw new SQLException(ex.getMessage()); > > }catch(ClassNotFoundException ex2){ > > throw new SQLException(ex2.getMessage ()); > > }finally{ > > FechaConn(); > > } > > } > > > > > > > > Alguém tem alguma luz sobre o problema? > > Atenciosamente, > > Alexandre Biancuzzi > > ------------------------------------------------------------------------ > > _______________________________________________ > Grupo de Usuários do PostgreSQL no Brasil > Antes de perguntar consulte o manual > http://pgdocptbr.sourceforge.net/ > > Para editar suas opções ou sair da lista acesse a página da lista em: > http://pgfoundry.org/mailman/listinfo/brasil-usuarios -- Ivo Nascimento Iann tech - Desenvolvendo soluções com performance e segurança http://www.ianntech.com.br _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios -- Antonio Fernando Amorim WebDeveloper - SCJP Cel: 99698502 _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios -- Antonio Fernando Amorim WebDeveloper - SCJP Cel: 99698502
_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/ Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
