lentidao para acessar DBF em rede
Moderador: Moderadores
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
lentidao para acessar DBF em rede
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 !
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
lentidao para acessar DBF em rede
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.
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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
lentidao para acessar DBF em rede
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.Todos os pcs tem windows XP3.
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.Em uma rede ponta a ponta, o acesso é rapido tanto no servidor como no terminal.
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
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
lentidao para acessar DBF em rede
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.
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...
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...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
lentidao para acessar DBF em rede
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.
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.
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
lentidao para acessar DBF em rede
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
Use Windows 2003/2008 Server ou Linux com Samba Server...
Na Rede não use HUBS e sim Switchs...diminuirá o broadcast... :)Pos
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
-
Dozao
- Usuário Nível 1

- Mensagens: 27
- Registrado em: 03 Ago 2010 09:06
- Localização: Sertãozinho/SP
- Contato:
lentidao para acessar DBF em rede
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!
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!
@douglas_muriel
