Performance! Qual o melhor "aproach" na opniao de vcs?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Eduardo Borio
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 02 Abr 2007 16:13
Localização: Curitiba

Performance! Qual o melhor "aproach" na opniao de vcs?

Mensagem por Eduardo Borio »

Antes de qlqer coisa agradeco a todos do forum, sempre tiro duvidas lendos seus posts.
Estou com um problema de performance em redes com Windows 9.x XP ...
Todas a maquinas sao com configuracoes boas.

Utilizo: Clipper 5.2e , blinker 7 extendido,DBFNTX(estou mudando pra SIX, mas ainda nao testei nos clientes),
se eu usar apenas o SIXNTX, melhora alguma coisa?

Crio apenas uma atalho na estacao, pra rodar o aplicativos.

Gostaria de saber, na opniao de vcs qual seria a melhor implementacao?
Terminal Services?
Instalar o sistema em cada estacao e usar os DBFs no server?
Apenas os atalhos?
Ooutras q desconheco?


Obrigado.
Abracos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Usar SIX (CDX ou NSX - não NTX), que é um índice composto e compactado, já vai melhorar bastante suas pesquisas. Instalar um EXE em cada estação não vai produzir ganho significativo. O gargalo é sempre com o próprio DBF, que é de uso local. Ou seja, uma simples indexação faz o arquivo de dados trafegar inteiro pela rede. Logo, se o problema de performance que você tem envolve o uso de várias estações, sugiro uma migração para a arquitetura cliente/servidor. A diferença de performance é brutal. Além do quê, um dia você terá de migrar. Por que não já? Em termos de acesso a dados é essa minha opinião.

Claro que a performance como um todo pode envolver vários fatores. Talvez você tenha uma rede mal configurada. Talvez você tenha um problema de hardware e/ou software e nem sabe. São várias hipóteses.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Eduardo Borio
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 02 Abr 2007 16:13
Localização: Curitiba

Re: Performance! Qual o melhor "aproach" na opniao de vcs?

Mensagem por Eduardo Borio »

Entendi... Mas é este o caso, estamos reescrevendo todos os sistemas usando Windows Forms C# com nHibernate e SQL(todos bancos que o Hibernate suporta). Mas vai levar mais 9 meses pra ficar pronto.

O que queremos é dar uma sobrevida ao sistema em clipper, pois as reclamações são muitas.

E tbm é terrivel manter um sistema em linguagem estruturada,onde a duplicação de codigo é uma das principais desvantagens.É claro que existem vários padrões de desenvolvimento para ajudar, mas ainda assim não chega nem perto do mundo OO.

Muito Obrigado pela resposta, vai ajudar e muito.

Abracos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Então, uma vez que já que estão migrando, como alternativa pra dar um "alívio" para os clientes, sugiro o uso de um índice composto CDX ou NSX. Já vai melhorar e muito as pesquisas de dados.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Eduardo Borio
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 02 Abr 2007 16:13
Localização: Curitiba

Mensagem por Eduardo Borio »

Legal, tomara que não tenha que mudar muito codigo. Aproveitando, quase todo o sistema usa DbSetOrder, dbsetfilter, dbseek etc. terímos que trocar (ou reescrever com base na SIX) essas funcoes pra usar NSX pra ganhar performance? ou só o driver já ajuda legal?

pq pelo que vi no help, existem inumeras funções.

Valeu mais uma vez.
Grato.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Uso do SIX

Mensagem por Maligno »

Além de linkar o driver, alguns antigos comandos de manipulação de índices são trocados pelos da SIX. Mas é coisa simples. Por exemplo: onde você tiver um INDEX qualquer, você inclui o header da biblioteca e pronto. É só recompilar.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Eduardo Borio
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 02 Abr 2007 16:13
Localização: Curitiba

Mensagem por Eduardo Borio »

Legal, gostei. Quase não uso comandos clipper, só quando não tem função equivalente.
Talvez seja um problema, ou não, mas acho que vai ser tranquilo.
Agora é só mergulhar de cabeça nesta lib.

Muito obrigado mais uma vez.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Performance! Qual o melhor "aproach" na opniao de vcs?

Mensagem por sygecom »

Eduardo, opcionalmente vc pode compilar esse seu sistema CLIPPER em xharbour usando CDX que vai ter um desempenho bem melhor.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Eduardo Borio
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 02 Abr 2007 16:13
Localização: Curitiba

Mensagem por Eduardo Borio »

Consegui migrar um dos sistemas usando BCC55 e Xharbour, até que foi bem rápido só adicionei o function em cada modulo e biblioteca de funções. O problema é que o sistema compilado em Xharbour está simplesmente dando "crash" e cada vez em uma parte diferente do sistema.(tentei com aXHB 1.00 e outras ateriores, todas dão o mesmo problema.
Talvez alguma lib não seja 100% compatível sei la, uso muito a ctp.lib e Tbrowser em clipper. Mas sinceramente não sei onde procurar pelo erro.
Valeu pela dica.
Vou experimentar tudo o que eu puder heheh.

Obrigado mais uma vez.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Performance! Qual o melhor "aproach" na opniao de vcs?

Mensagem por rochinha »

Amiguinho

Tanto no SIX como CDX voce poderá aumentar a performance das filtragem em muitos% usando SCOPE.

Quando precisei melhorar meu sistema com .NTX eu não via alteranativa a não ser usar .CDX mas axigia um certo trabalho que eu não estava acostumado e descobri SUBNTX e usei-o por anos.

Quando então passei a usar 5.3, Blinker 7 e CDX ja tinha know-how no uso de escopos e fazer um sistema usando este esquema foi super fácil.

Além do que quanto pode enfiar 20 indices em um unico arquivo e levar para a memória somente 2 por abertura isto me levou aos céus.

Ainda uso .CDX, escopos e o real problema de qualquer sistema, seja Texto, Windows ou qualquer outra plataforma é o tempo de resposta das filtragens.

Faça testes usando escopos no lugar de set filters.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Eduardo Borio
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 02 Abr 2007 16:13
Localização: Curitiba

Performance! Qual o melhor "aproach" na opniao de vcs?

Mensagem por Eduardo Borio »

Tranquilo, já consegui adaptar o sistema pra usar NSx e/ou CDX. Agora vem a parte que da mais trabalho, que é mudar todos os lugares onde tem setfilter.

Não puder perceber uma melhora somente trocando os indices(mas ainda não testei em rede). E tbm percebi que o tamanho dos NSX, é extamente o mesmo dos NTX, mas claro o NSX tem todas as tags no mesmo arquivo. Então todos os NTX somados da o tamanho do NSX. O bom é que economizamos file handles.

Em se tratando de ambiente Windows, geralmente é usado Cliente/Servidor onde buscamos somente os registros que queremos pela rede, ao contrario de abrir um .Dbf inteiro e depois filtrar.

Obrigado pelas dicas.

Abraços. vlws.
Eduardo Borio
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 02 Abr 2007 16:13
Localização: Curitiba

Mensagem por Eduardo Borio »

Obrigado a todos. Vou de SIXCDX.

Consegui descobrir o erro no XHarbour. O problema era com o comando release.
Mas vou vou ficar com Clipper SIXCDX, pq a ct.lib nos Xharbour está com algumas diferenças nas funções de vídeo.

Muito obrigado e parabens a todos.

Flws.
Responder