Problema com velocidade leitura/gravação dados
Moderador: Moderadores
Problema com velocidade leitura/gravação dados
Tenho uma aplicação que passei do clipper para harbour e tenho algumas tabelas em .DBF e outras em MySQL.
A aplicação está a ser utilizada em rede no máximo por 6 postos.
O meu problema é que quando só está um posto a trabalhar, a aplicação até trabalha rápido, o problema é quando entram outros postos, aí fica bastante lenta.
Alguém sabe o que pode estar a causar esta lentidão?
A aplicação está a ser utilizada em rede no máximo por 6 postos.
O meu problema é que quando só está um posto a trabalhar, a aplicação até trabalha rápido, o problema é quando entram outros postos, aí fica bastante lenta.
Alguém sabe o que pode estar a causar esta lentidão?
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Problema com velocidade leitura/gravação dados
A parte que fica lenta é onde usa os DBF?
Está usando algum SET FILTER nessa rotina que fica lenta?
Está usando algum SET FILTER nessa rotina que fica lenta?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Problema com velocidade leitura/gravação dados
Sim é nos dbfs.
Eu utilizo muito a criação de ficheiros dbf temporários no disco local c:\Temp\ de cada posto, para obter dados mais precisos para listagens/visualizações.
Não uso o SET FILTER na aplicação pois sempre foi um processo que ficava demasiado lento.
Eu utilizo muito a criação de ficheiros dbf temporários no disco local c:\Temp\ de cada posto, para obter dados mais precisos para listagens/visualizações.
Não uso o SET FILTER na aplicação pois sempre foi um processo que ficava demasiado lento.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Problema com velocidade leitura/gravação dados
Olá!
Se possível, procure gerar os DBFs temporários em memória. Veja exemplo:
Se possível, procure gerar os DBFs temporários em memória. Veja exemplo:
Código: Selecionar todos
REQUEST HB_MEMIO
REQUEST DBFCDX
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PTISO
FUNCTION Main()
LOCAL aArray
Hb_LangSelect( 'PT' )
Hb_CdpSelect( "PTISO" )
aArray := {}
DbCreate("mem:Teste", { { "Field1", "N", 2, 0 }, ;
{ "Field2", "C", 4, 0 }, ;
{ "Field3", "N", 2, 0 }, ;
{ "Field4", "N", 2, 0 } } ,"DBFCDX", .T., "Teste")
// ...
// Procedimentos
// ...
DbCloseArea( "Teste" )
DbDrop("mem:Teste",,"DBFCDX")
RETURN NIL[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Problema com velocidade leitura/gravação dados
Pode ser uma opção, mas estava a pensar primeiro saber qual a razão exata de ficar mais lento quando está mais que 1 posto a trabalhar.
Para fazer alterações no código, pode ficar melhor se passar para MySQL essas tabelas temporárias.
Para fazer alterações no código, pode ficar melhor se passar para MySQL essas tabelas temporárias.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Problema com velocidade leitura/gravação dados
Provavelmente está usando NTX.
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Problema com velocidade leitura/gravação dados
Depende muito do que está fazendo nos fontes.
A princípio, deveria ser igual pra qualquer quantidade de usuários.
A princípio, deveria ser igual pra qualquer quantidade de usuários.
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/
Problema com velocidade leitura/gravação dados
Isto esta com cara de ser problema/configuração no Windows do servidor. Tem programas pesados no servidor rodando em conjunto com seu sistema? Como aplicativos que ficam consultando a internet para busca de pedidos o algo similar?
Tive um problema desses em um cliente, deixando as máquinas de rede bem lenta, achamos o problema no servidor, que tinha um programa que puxava pedidos online. Este programa executava a verificação a cada segundo, assim a rede interna sofria com lentidão, não devido ao consumo mas deixando o servidor escravo deste programa. Fechamos o programa e tudo voltou ao normal.
Há também configurações no registro do Windows que podem agilizar a Leitura/Gravação (CACHE) dos dados em disco, talvez ajude também.
Veja este assunto https://pctoledo.org/forum/viewto ... me#p113796
Até+
Tive um problema desses em um cliente, deixando as máquinas de rede bem lenta, achamos o problema no servidor, que tinha um programa que puxava pedidos online. Este programa executava a verificação a cada segundo, assim a rede interna sofria com lentidão, não devido ao consumo mas deixando o servidor escravo deste programa. Fechamos o programa e tudo voltou ao normal.
Há também configurações no registro do Windows que podem agilizar a Leitura/Gravação (CACHE) dos dados em disco, talvez ajude também.
Veja este assunto https://pctoledo.org/forum/viewto ... me#p113796
Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Problema com velocidade leitura/gravação dados
Colocou tempo nos testes de RLock(), por exemplo.
Uma coisa igual acima vai sobrecarregar a rede à toa.
Já com tempo, a diferença vai ser brutal.
Nos tempos do Clipper eu usava OSLIB() de adicional, e colocava uma chamada a OL_Yield() pra liberar mais ainda para o Windows.
No Harbour o Inkey() já é suficiente.
Código: Selecionar todos
DO WHILE ! Rlock()
ENDDO
Código: Selecionar todos
DO WHILE ! Rlock()
Inkey(0.5)
ENDDO
Nos tempos do Clipper eu usava OSLIB() de adicional, e colocava uma chamada a OL_Yield() pra liberar mais ainda para o Windows.
No Harbour o Inkey() já é suficiente.
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/

