Página 2 de 2

lentidao para acessar DBF em rede

Enviado: 22 Ago 2012 15:31
por Pablo César
Se precisar automatizar essa desabilitação, baixe da seção de Downloads: Desabilitar a proteção de tela no Windows e coloque no arquivo .BAT antes de chamar o seu sistema. Espero que ajude !

lentidao para acessar DBF em rede

Enviado: 22 Ago 2012 15:57
por porter
O Servidor tem 2.00 gb de ram hd de 160

Todos os terminais tem 1 Tera com 3.00 Gb de ram

O Fato do terminal ter hd maior e mais memoria pode influenciar na abertura dos arquivos pelo terminal ?
A demora é no momento da abertura dos arquivos pelo terminal, se executar o programa la no servidor, a abertura dos arquivos é rapida.

Todos os pcs tem windows XP3.
Em uma rede ponta a ponta, o acesso é rapido tanto no servidor como no terminal.

lentidao para acessar DBF em rede

Enviado: 22 Ago 2012 16:19
por Pablo César
Todos os pcs tem windows XP3.
Ops... acho que você já disse tudo... rs já houve muitos registros de reclamação aqui no fórum sobre esta versão de pack do XP.
Em uma rede ponta a ponta, o acesso é rapido tanto no servidor como no terminal.
O hub ou roteador, pode estar dando falhas, pode até mesmo ser uma estação com alguma placa com defeito. Quase tudo em informática para detectar falhas, procede-se por dedução. Desplugue todas as estações do hub/roteador, deixe o servidor e a estação que estiver usando, e coloque cada estação observando se causa algum erro ou lentidão. É um trabalho arduo mas pode levar a detecção do erro.

Também tem um aplicativo que seria bom executá-lo para melhor conveniência na abertura de arquivos e o timeout para impressão. Aqui tem este aplicativo, experimente: Utilitário para alteração de REGISTRO do WINXP

lentidao para acessar DBF em rede

Enviado: 22 Ago 2012 19:21
por JoséQuintas
Tava revendo as mensagens...
Quando comecei a usar índices CDX tive problemas de lentidão, na época ainda era o Windows 98.
Foi nessa época que comecei a usar a OSLIB.

Meu EXE de Clipper, quando parei de usar o Clipper, tinha 4MB e compactado 1.5MB, então esqueça tamanho de EXE.

Se puder, é igual a propaganda, esqueça overlay, use Blinker 7.0 e modo extendido.
Por mais que ajuste as overlays vai ficar limitado a 640kb de memória, e com Blinker 7.0 e modo extendido, pode usar até 16MB pro Clipper.
Exospace também é bom, está num limite entre o normal e Blinker.

Não sei as outras LIBs, só conheço as que usei:
usava só clipper + blinker 7.0 + OSLIB, e parte da superlib pra mouse.
No programa principal acrescentei OL_AutoYield(.t.)
E em todos os locais possíveis, coloquei OL_Yield()
Pra facilitar, troquei todos os Inkey() por MyInkey(), e em MyInkey() tratei de colocar chamada extra pra OL_Yield(), com tratamento por tempo, pra não exagerar - até mesmo durante a indexação eu tinha isso, e até na getsys.
Isto da OSLIB foi pra liberar tempo ao Windows, pois como o Windows é que faz a comunicação da rede, se o programa Clipper usar 100% de CPU, o Windows não tem tempo de tratar a rede.

Coloquei isso no tempo do Windows 98 e nunca mais precisei mexer em nada.
Nunca precisei mexer na configuração de nenhum computador, a não ser mapear unidade de rede, e o limite de arquivos em config.nt.
Um extra do blinker é embutir o parâmetro CLIPPER=F250 no EXE, e dispensa alteração do autoexec.nt.

Rotinas como esta: - Aqui importantíssimo, porque o windows é que vai ficar vendo se foi liberado, e precisa tempo pra isso.
Do While .t.
If rLock()
Exit
Endif
MyInkey(0.5) // OL_Yield()
Enddo

Aonde era Inkey(0).....
nKey := 0
Do While nKey == 0
OL_Yield()
nKey := Inkey()
Enddo

As mudanças acima alteram o consumo de CPU de 100% para ZERO.
Nas telas de GETs, que são por Inkey(0)..... aí entra a vantagem de trocar na getsys o Inkey(0) por MyInkey(0), assim não fica multiplicando rotinas dentro dos fontes.

Isso se o problema for esse, de consumo de CPU.....
Segue a rotina que usava como MyInkey() e a IdleTo95() onde fazia o ajuste fino nos processos.

Código: Selecionar todos

    function MyInkey(mTempo)
    Local nKey     := 0
    Local nSeconds := 0
    Local mAcao
    mTempo   := iif(mTempo==NIL,-1,mTempo)
    nSeconds := Seconds()
     do while .t.
       IdleToW95((mTempo != -1))
       nKey := Inkey()
       do case
       case nKey != 0
          exit
       case mTempo == 0
       case Seconds() - nSeconds >= mTempo
          exit
       endcase
    enddo
    if ( mAcao := SetKey(nKey) ) != NIL .and. mHotKey
       Eval(mAcao,ProcName(),ProcLine(),ReadVar())
       nKey := 888
    endif
    return nKey



function IdleToW95(mForcaIdle)

Static IdleSeconds := 0
Static IdleTime    := "00:00:00"
mForcaIdle := Iif(mForcaIdle==NIL,.f.,mForcaIdle)

If IdleTime != Time() .Or. mForcaIdle
   IdleSeconds += 1
   IdleTime    := Time()
   If IdleSeconds > 1 .Or. mForcaIdle // pra chamar OL_Yield() somente a cada 2 segundos
      IdleSeconds := 0
      OL_Yield()
   Endif
Endif
return NIL

Só pra dar uma idéia do resultado:
De vez em quando, na minha máquina, eu colocava uns 10 sistemas de clientes pra reindexar ao mesmo tempo, processar arquivos, etc... e enquanto isso eu ia usando a máquina pra outras coisas...

lentidao para acessar DBF em rede

Enviado: 23 Ago 2012 17:15
por porter
ola pessoal, o servidor foi formatado e instalado o Xp
Versao 5.1( compilacao 2600.xpsp.080413-2111 Server Pack 3)
nao sei se tem alguma coisa a ver mas agora o sistema está bem rápido.


Em um outro cliente tem instalado o Xp
5.1(compilacao 2600.xpsp_sp3_qfe.090804-1456 : Service Pack 3)
Nesse o sistema esta lento, vou ver com o cliente para formatar e colocar a versao do Windows xpsp.080413-211, vou ver os resultados e volto a postar.

Valeu pessoal, obrigado.

lentidao para acessar DBF em rede

Enviado: 30 Ago 2012 18:30
por Dudu_XBase
Jamais Nunca em Hipótese Alguma....Use em um servidor com Sistema Operacional de Client aff... :?
Use Windows 2003/2008 Server ou Linux com Samba Server...
Na Rede não use HUBS e sim Switchs...diminuirá o broadcast... :)Pos

lentidao para acessar DBF em rede

Enviado: 18 Set 2012 14:06
por Dozao
Boa tarde amigo, não sei se você resolveu seu problema. Estive lendo o que o pessoal disse, e uma pergunta:

Você verificou o tempo que leva para dar ping das máquinas até o servidor??

Digo isso porque uma certa vez, algumas máquinas da rede estavam lentas demais para acessar o sistema, porém a internet funcionava ultra rápida. Foi batata, dei um ping no servidor e o tempo de resposta de uma máquina pra outra variou de 5ms a 12ms... Parece pouco, mas pra aplicações DOS faz uma diferença brutal.

Resolvi o problema ajustando o Agendador de Pacotes QoS das placas de rede em questão (não me lembro direitinho como eu fiz, mas você consegue em qualquer tutorialzinho da internet, coisa simples). Foi só fazer esse procedimento, que o tempo de ping já mudou pra menos de 1ms.... Nunca mais tivemos problemas.

Se o problema ainda não foi resolvido, tente verificar isso. Abraço e boa sorte!