[pgbr-geral] Comunicação com Banco de dados lenta
Bom dia, Tenho uma aplicação java, mais precisamente um ERP, rodando PostgreSQL 9.1 em um Linux 64 bits. Agora nos surgiu a necessidade de ligar com um outro ponto, e esse só pode ser via link de rádio. O problema é que um processo local demora em torno de 10 segundos, já nesse link está demorando em torno de 30 a 40seg, o ping entre essas redes está entre 10 ms a 15 ms, Existe algo que possa melhorar direto no banco? Obrigado a todos que puderem ajudar -- Ats. Lucas de Lima ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
On 06-07-2012 09:32, Lucas de Lima wrote: > Agora nos surgiu a necessidade de ligar com um outro ponto, e esse só pode ser > via link de rádio. > > O problema é que um processo local demora em torno de 10 segundos, já nesse > link está demorando em torno de 30 a 40seg, o ping entre essas redes está > entre 10 ms a 15 ms, > > Existe algo que possa melhorar direto no banco? > Esse processo envolve uma transferência razoável de dados? Caso afirmativo, sugiro que utilize conexão SSL (que compacta o tráfego por padrão) para tentar melhorar esse tempo. Antes que pergunte, não há a possibilidade de compactação sem utilização de conexões SSL. -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
> > (...) Antes que pergunte, não há a possibilidade de compactação > sem utilização de conexões SSL. > Na verdade tem outras ferramentas que fazem isso, uma que conheço é o Zebedee, mas não sei dizer se é melhor ou não que SSL, acredito que não seja, mas talvez seja uma boa testar uma sobre a outra (quem sabe não melhora, isso se o tráfego for realmente grande, se não a sobrecarga no pré-processamento pode causar problemas). Atenciosamente, -- Matheus de Oliveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
On 06-07-2012 13:01, Matheus de Oliveira wrote: > (...) Antes que pergunte, não há a possibilidade de compactação > sem utilização de conexões SSL. > > > Na verdade tem outras ferramentas que fazem isso, uma que conheço é o Zebedee, > mas não sei dizer se é melhor ou não que SSL, acredito que não seja, mas > talvez seja uma boa testar uma sobre a outra (quem sabe não melhora, isso se o > tráfego for realmente grande, se não a sobrecarga no pré-processamento pode > causar problemas). > Zebedee é uma ferramenta sem uma nova versão a muitos anos; talvez ela esteja obsoleta? É claro que há outras maneiras [1] mas conexões SSL visam diminuir o esforço em configuração já que não é necessário outros softwares. [1] http://www.postgresql.org/docs/9.1/static/ssh-tunnels.html -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
Em 06-07-2012 09:32, Lucas de Lima escreveu: > Bom dia, > > Tenho uma aplicação java, mais precisamente um ERP, rodando PostgreSQL > 9.1 em um Linux 64 bits. > > Agora nos surgiu a necessidade de ligar com um outro ponto, e esse só > pode ser via link de rádio. > > O problema é que um processo local demora em torno de 10 segundos, já > nesse link está demorando em torno de 30 a 40seg, o ping entre essas > redes está entre 10 ms a 15 ms, Provavelmente não é latência, mas a quantidade de dados que têm de trafegar do ponto A para o B. > > Existe algo que possa melhorar direto no banco? Você terá de diminuir a quantidade de dados que trafegam em cada transação para que elas sejam mais rápidas. Você tem um gargalo em rede. []s Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 www.4linux.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] Comunicação com Banco de dados lenta
> > Zebedee é uma ferramenta sem uma nova versão a muitos anos; talvez ela > esteja > obsoleta? É claro que há outras maneiras [1] mas conexões SSL visam > diminuir o > esforço em configuração já que não é necessário outros softwares. > Ah, sim, só quis dizer que não é a única solução, podia ser criado até um túnel SSH, que pode ser configurado com compressão de dados também (opção -C). Acho que nesses casos esforço em configuração não seria o ponto importante, geralmente me preocupo mais com o resultado. De qualquer forma acredito (não fiz testes de fato) que o SSL ainda seria melhor que SSH (ou seja, mais rápido). Alguém já testou soluções do tipo? Atenciosamente, -- Matheus de Oliveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
Em 6 de julho de 2012 13:17, Matheus de Oliveira escreveu: >> Zebedee é uma ferramenta sem uma nova versão a muitos anos; talvez ela >> esteja >> obsoleta? É claro que há outras maneiras [1] mas conexões SSL visam >> diminuir o >> esforço em configuração já que não é necessário outros softwares. > > > > Ah, sim, só quis dizer que não é a única solução, podia ser criado até um > túnel SSH, que pode ser configurado com compressão de dados também (opção > -C). > > Acho que nesses casos esforço em configuração não seria o ponto importante, > geralmente me preocupo mais com o resultado. De qualquer forma acredito (não > fiz testes de fato) que o SSL ainda seria melhor que SSH (ou seja, mais > rápido). Alguém já testou soluções do tipo? > Sistemas tipo client/server com conexão de pouco largura de banda são quase impossíveis de manter sem nenhum ajuste no software (seja usando compactação ou diminuindo as requisições da interface). Gostaria de dar mais uma opção: nestes casos é possível reescrever algumas regras de negócio para rodar no banco de dados (functions) evitando assim a transferência de informações entre o servidor e o client. Apesar de serem soluções bem pontuais, podem não resolver 100% o problema do gargalo, mas ajudam. Esta alternativa não ajuda muito caso você possuir as regras de negócio em um servidor de aplicações (JBoss, Glassfish, etc). -- TIAGO J. ADAMI http://www.adamiworks.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] Comunicação com Banco de dados lenta
2012/7/6 Tiago Adami : > > Sistemas tipo client/server com conexão de pouco largura de banda são > quase impossíveis de manter sem nenhum ajuste no software (seja usando > compactação ou diminuindo as requisições da interface). A rigor, o ideal é que as regras de negócio fiquem todas na base de dados, e preferivelmente declarativamente. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
Não sei se é possível.Mas manter o ERP e o POSTGRES no mesmo local apenas disponibilizando acesso remoto ao ERP solucionaria o problema.> > Em 06-07-2012 09:32, Lucas de Lima escreveu:>> Bom dia, Tenho uma aplicação java, mais precisamente um ERP, rodando PostgreSQL>> 9.1 em um Linux 64 bits. Agora nos surgiu a necessidade de ligar com um outro ponto, e esse só>> pode ser via link de rádio. O problema é que um processo local demora em torno de 10 segundos, já>> nesse link está demorando em torno de 30 a 40seg, o ping entre essas>> redes está entre 10 ms a 15 ms,> > Provavelmente não é latência, mas a quantidade de dados que têm de> trafegar do ponto A para o B.> Existe algo que possa melhorar direto no banco?> > Você terá de diminuir a quantidade de dados que trafegam em cada> transação para que elas sejam mais rápidas.> > Você tem um gargalo em rede.> > []s> ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
> Esse processo envolve uma transferência razoável de dados? Caso afirmativo, > sugiro que utilize conexão SSL (que compacta o tráfego por padrão) para tentar > melhorar esse tempo. Antes que pergunte, não há a possibilidade de compactação > sem utilização de conexões SSL. Euler, realmente este processo envolve um transferência razoável de dados, vou buscar mais sobre essas conexões que permitem uma compactação. Isso deveria ser feito na aplicação, certo ? >Provavelmente não é latência, mas a quantidade de dados que têm de trafegar do ponto A para o B. Flávio, foi que imaginei também. >Ah, sim, só quis dizer que não é a única solução, podia ser criado até um túnel SSH, que pode ser configurado com compressão de dados também (opção -C). Acho que nesses casos >esforço em configuração não seria o ponto importante, geralmente me preocupo mais com o resultado. De qualquer forma acredito (não fiz testes de fato) que o SSL ainda seria melhor >que SSH (ou seja, mais rápido). Alguém já testou soluções do tipo? Vou realizar alguns testes via tunel SSH também. Obrigado Ats Lucas de Lima -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
> Não sei se é possível.Mas manter o ERP e o POSTGRES no mesmo > local apenas disponibilizando acesso remoto ao ERP solucionaria o problema.> > Gilmar, Sim eu tenho uma solução assim, são 15 computadores nesse ponto B, onde na sua maioria eu utilizo acesso remoto (NX), mas para esse caso é específico pois é um terminal para emissão de cupom fiscal, e eu só consigo comunicar com a ecf assim,por enquanto. Alguém já passou por algo nesse sentido? -- Ats. Lucas de Lima ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
Em 6 de julho de 2012 16:16, Lucas de Lima escreveu: >> Não sei se é possível.Mas manter o ERP e o POSTGRES no mesmo >> local apenas disponibilizando acesso remoto ao ERP solucionaria o >> problema.> > > > Gilmar, Sim eu tenho uma solução assim, são 15 computadores nesse ponto B, > onde na sua maioria eu utilizo acesso remoto (NX), mas para esse caso é > específico > > pois é um terminal para emissão de cupom fiscal, e eu só consigo comunicar > com a ecf assim,por enquanto. > > Alguém já passou por algo nesse sentido? Já. A solução foi adaptar o software para ter seu próprio banco de dados e replicar os dados "full-duplex" com o servidor. Assim você não tem tanto tráfego de rede - limita-se à subir vendas e baixar preços e dados cadastrais, mas torna seu aplicativo assíncrono (ou "semi off-line"). A última empresa onde trabalhei tem um software assim, rodando em Windows com PostgreSQL 8.3 (não sei se já atualizaram). Funciona muito bem, diga-se de passagem (exceto quando o equipamento dos caixas são ruins e corrompem o banco de dados). Se você caprichar, pode até elaborar uma maneira de transferir os dados de forma compactada. O software de replicação que citei é próprio, customizado, replica dados de PostgreSQL para Sybase e DB2 e destes para o PostgreSQL também. Claro que replicação heterogênea, incremental e customizada envolvendo dois ou mais SGBDs distintos requisitam um projeto bem elaborado, e com certeza você precisará de subsídios para controlar "quais" registros irão ser replicados (com o auxílio de alguns triggers isso pode ser feito sem maiores problemas). Assim não é necessário uma carga completa via ETL toda vez que subir vendas ou baixar preços. Existem algumas ferramentas pagas que fazem isso de forma transparente, mas são muito caras (como o Sybase Replicator). Desconheço alguma livre. E também, se eu não me engano, seu software já deveria estar funcionando com um banco de dados independente por causa das regras do PAF-ECF. Resumindo: não tem como fugir desta alternativa, e você já acaba matando "dois coelhos com uma caixa d'água só" :) -- TIAGO J. ADAMI http://www.adamiworks.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] Comunicação com Banco de dados lenta
On 06-07-2012 14:57, Lucas de Lima wrote: > Euler, realmente este processo envolve um transferência razoável de dados, vou > buscar mais sobre essas conexões que permitem uma compactação. > Isso deveria ser feito na aplicação, certo ? > Sim. Compactar antes de transmitir e descompactar após receber. O PostgreSQL ainda *não* oferece uma solução para compactação dos dados trafegados no seu próprio protocolo. Recentemente eu abri uma discussão para implementar isso (sem depender de conexões SSL ou túneis SSH) e espero terminar o trabalho a tempo para 9.3. -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comunicação com Banco de dados lenta
2012/7/6 Euler Taveira : > Recentemente eu abri uma discussão para implementar isso > (sem depender de conexões SSL ou túneis SSH) e espero terminar o trabalho a > tempo para 9.3. Parabéns, Euler! ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral