Página 1 de 2
Clipper lento em 2 terminais
Enviado: 19 Ago 2008 21:13
por edegar_metodo
Sou novo por aqui, mas com um problema parecido...Clipper lento em 2 terminais....
acredito que tenha um problema parecido (digo parecido pois as dicas anteriores infelizmente nao deram certo), mas vamos ao meu problema: tenho 1 servidor 2 terminais (digo servidor porque os arquivos ficam nele) sendo o servidor um Intel E2180-1024mb-hd160 e os terminais Cel430-1024mb-hd80
qnd utilizo o programa em qualquer micro (servidor ou terminais) fica rapido (digo normal) se acesso em apenas um equipamento (a velocidade do servidor para o terminal eh praticamente inexistente), agora quando carrrego o sistema em 2 (podendo ser ser/ter ou ter/ter fica muuiito lento, e depois de alguns testes cheguei a conclusao que pelo simples fato de abrir os arquivos em outro micro a lentidao aparece, o interessante é que se abrir o sistema no micro 1 (fica normal) ai abro no micro 2 (fica lento inclusive no micro 1) ai eu fecho o programa no micro 2 o micro 1 continua lento, agora se eu sair do micro 1 e entrar novamente fica normal.
cheguei a copiar o programa em 2 diretorios (para poder acessar cada diretorio em um terminal) e coloquei o programa para fazer uma atualizacao (ou seja, travar o registro, gravar, destravar, fazer o loop...ect), nos 2 terminais ao mesmo tempo e o programa fica normal, sendo assim acredito que o problema nao eh a velocidade do servidor, pois neste caso ele estava sendo muito mais utilizado (so que um micro em cada diretorio) e realmente ficou legal, mas qnd abro em 2 micros... lentidao mesmo...
alguem pode me ajudar??????
Edegar Rodrigues
Clipper lento em 2 terminais
Enviado: 19 Ago 2008 21:50
por Pablo César
Seja bem vindo ao fórum. Só não entendí quando você menciona: "digo parecido pois as dicas anteriores infelizmente nao deram certo", você tinha visto algum tópico sobre lentidão ?. Pois não mencionastes quais foram as dicas que você leu, também não menciona se a sua rede é com XP.
Você ja testou utilizar o FREETSLICE() do TIMESLIC.OBJ do Maligno ?. Leia este tópico:
viewtopic.php?f=1&t=6299&p=45148&hilit=FREETSLICE#p45147
Caso não der resultado ou tiver alguma dúvida é só retornar questionando e descrevendo as suas tentativas.
Re: Clipper lento em 2 terminais
Enviado: 19 Ago 2008 22:28
por edegar_metodo
Desculpe a falta do SO. utilizo o XP, e ja utilizo o a lib para resolver o prob do inkey, como disse o sistema funciona bem se utilizado em apenas um micro (sendo qualquer dos micros) mas quando utilizo em 2 ai fica muito lento. quanto ao uso da cpu fica sempre abaixo dos 20% e o interessente eh que ja fiquei monitorando o gerenciador de tarefas do windows e tanto na rede quanto no uso da cpu fica realmente baixo e olhando para o led do hd do servidor ele nao pisca indicando que realmente ele esta parado o que nao justificaria tal lentidao, se vc preferir posso separar/fazer um rotina simples para que vc possa enteder o que digo ok
Re: Clipper lento em 2 terminais
Enviado: 20 Ago 2008 10:04
por gvc
[edegar_metodo]
Como é a sua rotina de abertura de arquivos.
Se vc só abrir o sistema em um terminal e deixar no menu, abrir o sistema em outro terminal, o sistema fica muito lento (só confirmando o que eu entendi).
Vc faz alguma validação quando sai de uma tela e entra em outra?
Vc tenta bloquear registros/arquivos de um menu para o outro?
A lentidão é em todo o sistema ou só em alguns processos? (inclusão / alteração / pesquisa / relatório)
Monte o código e poste para podermos verificar / ajudar.
Re: Clipper lento em 2 terminais
Enviado: 20 Ago 2008 10:53
por edegar_metodo
bom dia a todos os amigos...
vamos la, hoje fiz mais alguns testes...
o sistema abre todos os bancos no inicio e ficam todos abertos
utilizo uma funcao para verificacao do movimento do caixa (funcao chamada pressionano do F6) esta funcao faz o seguinte:
seleciona o banco movidiar.dbf
faz um filtro usado o setscope da six
faco um loop para atualizar alguns campos deste banco
visualizo atraves do dbedit()
como disse anteriormente se abro o programa apenas em um micro, esta rotina funciona rapido, agora se eu fizer uma rotina apenas para abrir este banco (fiz o teste hoje) e abri-la em um 2 micro ai fica lento.
no teste de hoje fiz o seguinte:
copiei o programa para 3 diretorios onde coloquei um bat para chamar a indexacao varias vezes, fui no servidor e executei a indexacao, fui no 1 terminal e executei a indexacao, fui no 2 terminal e carreguei o programa (lembrando que cada um usando um diretorio sem compartilhar o banco, mas abrindo o sistema com o shared)
na situacao acima: o servidor indexando (uso de memoria e uso do hd), o 1 terminal indexando (uso da rede e uso do hd do servidor) e o 2 terminal usando o programa funciona normalmente, agora se voltar a fazer o que seria o normal , abrir o programa em um mesmo diretorio ai fica lento..
fiz tambem outro teste:
conectei 2 micros usando placas gigalan, usando em 1gb, 100mb ou 10mb a diferenca de tempo nesta rotina praticamente nao existe o que indica que o tempo gasto nao esta na rede
outro teste:
fiz uma rotina para gravar dados aleatorios usando apenas um micro, se eu colocar o LOCK() o programa fica mais lento (concordo que ele tem que fazer um processo a mais o que justificaria o tempo gasto), se tirar o LOCK(), faz bem mais rapido, agora no caso do meu programa o LOCK() sempre existiu, e mesmo com o lock() fica rapido (acredito que fica rapido pois o processo de gravacao utilizado poucos registros).
impressao que eu tenho:
qnd o programa abre o arquivo pela segunda vez, ele faz alguma marcacao (talvez por seguranca), ops (acabei de fazer outro teste: abri o arquivo 3 vezes no mesmo programa usando o alias movi1, movi2, movi3 e usando em apenas um micro fica normal), ou seja o detalhe nao esta na abertura do arquivo pois agora ele tambem esta sendo aberto 2 vezes, mas qnd abro em 2 micros fica lento
espero ter ajudado com esta informação....
Re: Clipper lento em 2 terminais
Enviado: 20 Ago 2008 12:57
por juniorcamilo
Pessoal, eu tambem tenho este mesmo problema, parece que é de uma hora para outra, ai faço é pedir a reistalacao do XP, ai fica rapido por algum tempo e depois para novamente. nao consegui resolver isto ainda se procurar em topicos anteriores ja fiz o mesmo questinamento do amigo... e iteressante que em algumas versoes do XP nao da problema algum.
Re: Clipper lento em 2 terminais
Enviado: 20 Ago 2008 13:04
por alaminojunior
Poste aí para nos apreciarmos, o seu config.nt e autoexec.nt .
Verifique o nível de desempenho, na aba Avançado, nas Propriedades do Sistema.
Acredito que também mereça uma verificação, o Anti-Vírus utilizado. E também o switch utilizado.
Você chama o programa através de um atalho ?
Enfim, esmiuçemos ....
Re: Clipper lento em 2 terminais
Enviado: 20 Ago 2008 13:21
por edegar_metodo
acabei de realizar outros testes:
1.
fui em um amigo que utiliza a boa e velha novell. Em um terminal k2-500/64/boot remoto, rodei o programa e neste micro ele ficou na metade do tempo (do micro demorado, logo ele demorou mais do que no micro rapido), mas como estamos levando em conta o micro lento ele fez na metade do tempo, fui em um segundo micro cel-2.4/512/hd40/winxp ai ele fez na metado do outro micro, logo se comparararmos como os sistemas rodando apenas o xp o tempo ganho foi consideravel principamente porque o servidor dele eh um P3-550/64/hd20...rs
2.
como estava desconfiado que o problema era na gravacao do banco utilizado, (tudo bem que ele faz uns calculos para atualizacao dos dados), coloquei (*) nas linhas para nao serem executados os processos de gravacao ou seja para ele apenas passar pelo banco, efetuar os calculos e chegar no dbedit(), coloquei no inicio do loop para imprimir a hora e no final tambem (para que possa ter uma visao do tempo real), neste caso usando apenas um micro ele nao gasta nem um segundo pois o segundo final do inicio e final sao iguais, agora quando executo o prog em outro micro ele faz em 2/3 seg,
ai eu voltei as linhas para gravacao, e demorou 10/12 seg, levando em conta que com apenas um micro e 1 seg.....ta demorando muito
depois fiz outra alteracao, criei um banco temporario no drive C e em vez de gravar as alteracoes no banco compartilhado, gravei no banco temporario (esta gravando local, sem usar o lock()) ai o processo demorou 4/5 seg...
conclusao:
acredito que ate agora foi o melhor que consegui, so que tenhos alguns problemas:
as atualizacoes e os calculos feitos sao necessarios, o pessoal acostumou a visualizar no dbedit(), (poderia usar o tbrowse()....mas nao sei..rs), como o arquivo temporario (gravo: registo do banco compartilhado, e os campos de saldo), poderia fazer uma relacao onde: o recno() do arquivo pai vai estar gravado em um campo no arquivo filho, mas pelo que andei vendo para fazer uma relacao usando o RECNO() os dois bancos estariam vendo o recno(), mas como disse o recno() eh do pai do filho eh uma variavel com nome registro.
Fico no aguardo de uma dica
Edegar
Re: Clipper lento em 2 terminais
Enviado: 20 Ago 2008 15:06
por gvc
[Edgar]
No seu post inicial, vc não colocou que era um processo. Pelo que entendi, o sistema todo ficava lento.
Como a lentidão é em um processo, poste o fonte do processo para poder-mos analisar o mesmo.
Clipper lento em 2 terminais
Enviado: 21 Ago 2008 13:39
por edegar_metodo
segue rotina em uso
lembrando que no ultimo teste efetuado a demora esta na gravacao dos totais necessarios a visualizao no dbedit()
antes de enviar este, fiz outro teste:
em um terminal qualquer rodei a funcao abaixo (demorou 20seg para visualizar) ai copiei a pasta onde estao os bancos para outro diretorio no proprio servidor (controle / contronw) e rodei a mesma funcao. tempo gasto: 3 segs
como podemos ver a diferenca eh enorme
fico no aguardo
Código: Selecionar todos
FUNCTION CONSCAIX
local tecalo,senh,nom1
keyboard ' '
sele movidiar
set order to 2
go top
m1={'DIA','NOM','comis','cus','porc'}
M2={'Data','Nome','Cm','Base','%'}
m3={,,,'@E 9,999.99'}
save scre to tecalo
QUADRO(5,2,14,73," MOVIMENTO DE CAIXA - CONSULTAR ","<Ent>Alterar * <Del>Excluir * <P>rocurar * <Esc>Retornar")
@ 22,0 CLEAR TO 22,79
@ 23,0 say SPACE(80) COLOR("N/W")
set scopetop to usuarios->anoatu+usuarios->mesatu
set scopebottom to usuarios->anoatu+usuarios->mesatu
go top
slcli:=slalu:=sltro:=sllup:=slmat:=slmen:=sla:=slg:=sld:=sldiv:=0
ctn_dat=dia
do while ! eof()
nom1=nom
do while nom=nom1 .and. ! eof()
if tur#'CLI'
slalu:=slalu+vlr
if rtrim(obs)='MATRICULA'
slmat++
elseif rtrim(obs)='MENSAL '+usuarios->mesatu .and. usuarios->todas='N' .or. ;
left(obs,6)='MENSAL' .and. usuarios->todas='S'
if right(alltrim(obs),5)#'JUROS'
slmen++
endif
endif
else
do case
case rtrim(obs)='TROCO'
sltro:=sltro+vlr
case rtrim(NOM)='UNIDADE 02'
sllup:=sllup+vlr
case rtrim(nom)='DIVERSOS'
sldiv:=sldiv+vlr
otherwise
slcli:=slcli+vlr
endcase
endif
sla=sla+vlr
slg=slg+vlr
sld=sld+vlr
rlock()
repl salge with slg
unlock
skip
enddo
ctn_dat=dia
skip -1
rlock()
repl salal with sla
unlock
sla:=0
if ctn_dat#dia
rlock()
repl saldi with sld
unlock
skip +1
sld:=0
else
skip +1
endif
enddo
go bottom
@ 17,5 say "Quantd.: "+str(qua,3)
@ 17,20 say "Descri‡„o.: "+left(obs,23)
@ 17,57 say "Valor.: "+transform(vlr,'@E 99,999.99')
@ 18,5 SAY 'Parcela: '+par
@ 18,24 say "Total.: "+transform(salal,'@E 99,999.99')+' - '+transform(saldi,'@E 99,999.99')
@ 18,57 say "Saldo.:"+transform(salge,'@E 999,999.99')
@ 16,3 to 16,74
@ 16,17 say 'Á'
@ 16,50 say 'Á'
@ 16,55 say 'Á'
@ 16,66 say 'Á'
@ 16,67 SAY ' GERAL ' COLOR('N/W')
DBEDIT(6,3,15,74,M1,"TECLASCX",m3,M2)
clear scope
rest scre from tecalo
Re: Clipper lento em 2 terminais
Enviado: 21 Ago 2008 16:12
por edegar_metodo
ops... outro caminho.. nao que tenha desistido deste..
com o auxilio do Pablo Cesar (moderador) que agradeco o link para instalacao do TS.. acabei de instalar e configurar (acredito que o basico do basico..rs)
Ficou rapidex, show de bola, agora tenho que aprender mais sobre o TS. mas por enquanto estou gostando..
acredito que novos problemas irao surgir (isto eh informatica..rs), mas vamos conhecer este caminho, o máximo que pode acontecer é aprender e chegar a conclusão que o outro tem mais beneficios e,,,, usar o outro...
grato a todos
edegar
Re: Clipper lento em 2 terminais
Enviado: 21 Ago 2008 18:44
por Gilberto M Silva
Já tive esse problema várias vezes substituia a placa de rede e resolveu o problema, tinha casos que o usuário fazia lançamentos e as vezes não chegava no servidor todas as informações
Re: Clipper lento em 2 terminais
Enviado: 23 Ago 2008 11:32
por rubens
Olá pessoal...
Estou passando por um problema parecido com o do colega... ia abrir um novo post, mas vou pegar um gancho aqui.. no meu caso... usava o windows 98 em todos pcs e não tinha problema de lentidão.. troquei pelo xp.. colocamos um servidor novo cel 430/1gb/ hd80 sata.. e começou a dor de cabeça.. sem mais nem menos o sistema congela, as vezes congela por minutos.. e volta a funcionar.. (mas congela a maquina inteira e se congela um congela todos os computadores da rede, são 4) não tem um lugar especifico no programa para isso.. .aliás até percebi que algumas vezes congela na abertura de programas para visualização com dbedit...
Já coloquei o freetslice...continua aparecendo os erros aleatorios...
Já troquei os cabos, o hub, e coloquei placas de rede offboard...
Mas continua do mesmo jeito...
Hoje estou pegando as máquinas do cliente para formatar e instalar o windows 98... porque nao dava problema antes.. tenho alguns clientes que usam win xp e não dá problema.. inclusive aqui na empresa tb.. uso o xp e nao tenho problema...
O que me incomoda mais é porque quando trava um, trava todos !!!
Se alguem tiver alguma sugestão... agradeço...
Rubens
Re: Clipper lento em 2 terminais
Enviado: 23 Ago 2008 11:57
por alaminojunior
A minha sugestão é:
Instale o Windows 2000/2003 Server no servidor, e nas estações Windows 98. E depois me conta.

Re: Clipper lento em 2 terminais
Enviado: 23 Ago 2008 23:13
por edegar_metodo
como disse anteriormente, gostei da ideia do TS, nao entendi bem como funciona o licenciamento dos 120 dias, estou comecando a trabalhar com ele agora, mas....
nos testes efetuados, peguei um k6-500/64mb/hd 10/w98...coloquei ele como terminal e rodou: corel 13,word 2003 , excel 2003, photoshop, e o programa em clipper... e tudo numa boa ao mesmo tempo.... como disse: gostei deste 2003 server.
mas voltando ao meu problema inicial (clipper lento) alguem tem uma idéia de como melhorar ou eh um detalhe do clipper mesmo?