Página 1 de 1

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

Enviado: 14 Ago 2008 12:50
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.

Enviado: 14 Ago 2008 13:13
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.

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

Enviado: 14 Ago 2008 14:07
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.

Enviado: 14 Ago 2008 14:43
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.

Enviado: 14 Ago 2008 15:51
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.

Uso do SIX

Enviado: 14 Ago 2008 17:02
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.

Enviado: 14 Ago 2008 17:44
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.

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

Enviado: 14 Ago 2008 18:23
por sygecom
Eduardo, opcionalmente vc pode compilar esse seu sistema CLIPPER em xharbour usando CDX que vai ter um desempenho bem melhor.

Enviado: 15 Ago 2008 12:52
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.

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

Enviado: 17 Ago 2008 21:23
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.

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

Enviado: 18 Ago 2008 09:38
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.

Enviado: 19 Ago 2008 13:37
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.