Fórum Analisem estes dados e me ajudem #40771

10/12/2003

0

Por favor analisem estes dados, o cache vai enchendo até o servidor cair.

Ai dá o seguinte erro
“UNABLE TO COMPLETE NETWORK REQUEST TO HOST ‘110.111.112.157’ UMA CONEXÃO ESTABELECIDA FOI ANULADA PELO SOFTWARE NO COMPUTADOR HOST”

Como faço para zerar o cachê.
- As transações estão sendo fechadas
- Uso algumas Store procedures simples


Estou usando o FB 1.5 RC7 Super Server, com Delphi7 e DbExpress


Flags0 Server Memory 4444k
Generations135301Max Memory5052k
Page Size 8192 Cached Reads
Cahe Size 681129541
ODS Version10.1Cached Writes18591
Oldest Transaction153584Cached pages5000
Oldest Active133585Total Reads27834
OldEst Snapshot133578Total Writes12323
Next Transaction135273
Bumper Transaction135273VersionLi-V6.3.0.4027 Firebird RC&
Sequence Number0ODS10.1
Next Attachment0Base Level6
Implementation ID19Cluss60
Shadow Count0Implementation3
Page Buffers2500Dialect3
Next Head Page0
Dialect3 Database Size1498,88 mb
Creation Database20/11/2003 Page Size 8192
AttributForce WritePage Count191856
Reserved SpaceYes


Nilson


Nilson Junior

Nilson Junior

Responder

Posts

10/12/2003

Afarias

|“UNABLE TO COMPLETE NETWORK REQUEST TO HOST ‘110.111.112.157’
|UMA CONEXÃO ESTABELECIDA FOI ANULADA PELO SOFTWARE NO
|COMPUTADOR HOST”

Tá me parecendo erro de rede (do sistema operacional) e não do
Firebird.

Vc usa EVENTOS??

Pode ser q seja um bug (já q o FB 1.5 é beta) -- neste caso, como vc pode postar isso no grupo de desenvolvimento do FB 1.5!!

Mas, pra mim não parece erro do servidor FB


T+


Responder

Gostei + 0

10/12/2003

Nilson Junior

o cache so vai aumentando, poderia ser uma Transaction ou store procedure, tem como colocar um free ou finally para limpar o resultado da Store Procedure da Memória

Nilson


Responder

Gostei + 0

10/12/2003

Afarias

|o cache so vai aumentando, poderia ser uma Transaction ou store
|procedure, tem como colocar um free ou finally para limpar o resultado
|da Store Procedure da Memória

não tem nada a ver com o STORED PROCEDURES... só se for um baita BUG.


T+


Responder

Gostei + 0

10/12/2003

Nilson Junior

as transactions estao sendo fechadas

acha que eu poderia usar o Windows Server.... ou o linux é melhor


Nilson


tem alguma dica


Responder

Gostei + 0

10/12/2003

Afarias

Configurados corretamente ambos são bons.


T+


Responder

Gostei + 0

10/12/2003

Nilson Junior

CREATE PROCEDURE VE_FOTOS (
VCODBAR VARCHAR (13))
RETURNS (
CODIBARRA VARCHAR (20),
VFOTOS BLOB sub_type 0 segment size 80)
AS
/*declare variable barra varchar(20);
declare variable nomeprodu varchar(40);*/

begin

for select codbarra, foto from fotos_pro
WHERE codbarra = :vcodbar

into :codibarra, :vfotos do
suspend;
end


aqui como ela e chamada no sistema

dmp.SQL_VeFOTO.Close;
dmp.SQL_VeFOTO.CommandText:=´Select * FROM ve_fotos (:vcodbar)´;
dmp.SQL_VeFOTO.ParamByName(´vcodbar´).AsString:=dmp.SQL_Y.fieldbyname(´pdt_codbar´).AsString;
dmp.SQL_VeFOTO.Open;
dmp.CDT_VeFOTO.Active:=true;
dmp.CDT_VeFOTO.Refresh;


Responder

Gostei + 0

10/12/2003

Afarias

vc não precisa de um procedimento para esta operação, mas se escolheu por utilizar 1, não tem problema algum em nada disso ai (só não devia usar o Refresh, só faz vc carregar mais a rede sem necessidade)

e::

dmp.SQL_VeFOTO.Open;
dmp.CDT_VeFOTO.Active:=true;

essas 2 linhas fazem a mesma coisa.


No mais, acho q vc está atacando o ´alvo´ errado ... seu problema não parece estar ai...

como disse, me parece algo relacionado a rede... poderia ser tb algo relacionado a EVENTOS ou uma UDF (se fosse memória)...

mas pela mensagem de erro, pode ser um bug ou algo na rede...

está ainda meio difícil dizer o q pode exatamente estar acontecendo... seria bom ter algo mais (informações) sobre o erro, quando ocorre, os processos, o ambiente, sei la...


T+


Responder

Gostei + 0

10/12/2003

Nilson Junior

mas

olha

dmp.SQl_Vefoto.Open; // aqui ele aciona o SQLDataset
Dmp.CDT_VeFoto.Active:=true // Abre o Cliente dataset

pois o Data souce esta ligado no CDT_Vefoto

e o Dataset provider no Sql_Vefoto

estou usando um deb image, seria melhor usar um Timage ??

mas o problema que quando analizamos no servidor a memória

free -m (conectiva 9) o cache so vai aumentado o uso e quando acaba a memória ele cai e da um o da primeira mensagem

Unable to complet.............

a versão é Super Server 1.5 RC7 e conectiva 9

desculpe a insistencia, mas preciso de ajuda


Nilson

Muito obrigado pela paciencia

T+


Responder

Gostei + 0

10/12/2003

Afarias

|dmp.SQl_Vefoto.Open; // aqui ele aciona o SQLDataset
|Dmp.CDT_VeFoto.Active:=true // Abre o Cliente dataset

desculpe, não reparei q estava usando ClientDataSets...

sendo assim, vc deveria apenas abrir o ClientDataSet... o SQLDataSet será aberto automaticamente.


|estou usando um deb image, seria melhor usar um Timage ??

Se as imagens são BMP não tem problema


|free -m (conectiva 9) o cache so vai aumentado o uso e quando acaba a
|memória ele cai e da um o da primeira mensagem

se é memória então é BUG... não está relacionado ao SP

vc está usando um PAGE_SIZE 8192 ... mas não ficou muito claro o page buffers... parece q é 2500 não é??

isso daria um cache de 20MB ... se está estabelecido para o Banco, então serão somente esses 20MB compartilhados para todas as conexões com o banco -- é bom q vc tenha esses 20Mb de memória física disponível


A única coisa q pode ficar acumulando memória no FB (e não é BUG do próprio FB) seria uma UDF mal escrita.

Acho q seria bom vc dar uma olhada no grupo de notícias do FB sobre este problema... ou pelo menos testar se ocorre a mesma coisa com FB 1.0


T+


Responder

Gostei + 0

11/12/2003

Nilson Junior

Poderia ser uma transaction aberta ?

uso ReadCommitted, mas todas estão sendo fechadas.

é a ultima pergunta, e depois seja o que Deus quiser, já estou até me sentinbfo chato e insistente.

na primeira mensagem vc viu o tamanho do Cache

Cahe Size 681129541

o que enche o cache do FireBird

tenha paciencia, obrigadão e T+

Nilson Junior


Responder

Gostei + 0

11/12/2003

Afarias

|Poderia ser uma transaction aberta ?

Vc pode usar o GFIX para verificar transações abertas (e commitá-las ou rollbecá-las) -- tá bom, os nomes ´aportuguesados´ ficaram horríveis ;)

Vc poderia tb fazer um backup e restaurar este banco, então, tome cuidado para q sua aplicação não permita q transações fiquem ´perdidas´ ou mesmo, evite fazer rollbacks desnecessários.


|uso ReadCommitted, mas todas estão sendo fechadas.

O importante é sempre fechar as transações (com commit de preferência)


|é a ultima pergunta, e depois seja o que Deus quiser, já estou até me
|sentinbfo chato e insistente.

Ainda bem q vc notou...

.

.

.

.

hahahahahaha... :lol: brincadeira cara... que isso, o fórum é pra isso mesmo... coloca as broncas ai pra que a galera q frequenta possa se juntar e tentar resolver... o grande ganho nisso para todos é q pode ser uma experiência adicionada q permitirá q outras pessoas não passem o mesmo problema.


|na primeira mensagem vc viu o tamanho do Cache
|Cahe Size 681129541

Realmente não saquei o q significa este número (e achei estranho). Estou meio apertado de tempo mas pretendo dar uma olhada nos manuais do IB e documentação do FB para puxar o significado disto...


|o que enche o cache do FireBird

O chache guarda os ´buffers´ mais recentes, para q não seja necessário buscar no arquivo caso outra consulta seja feita por outro usuário.

Dar uma olhada cuidadosa no seu controle de transações é muito importante.

Assim q eu tiver alguma idéia mais apurada do q pode estar ocorrendo eu te passo (se é q vou ter uma!)


T+


Responder

Gostei + 0

11/12/2003

Nilson Junior

agradeço a atenção....


este forum e muita valia


Nilson

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar