Selecao DevMedia QUERO SER PRIME

Fórum Delphi Firebird 2.0 muito lento via internet #373580

14/08/2009

0

Tenho um sistema cliente/servidor com SocketServer, na rede local, funciona que é uma bala.

Mas tenho um cliente que tem uma estação de trabalho fora da rede local, como ele não tem IP fixo, usamos o NOIP no servidor.
Acessando via internet o programa fica extremamente lento.

Gostaria de receber algumas dicas de como melhora a velocidade, sendo que o cliente não está disposto a investir R$.

O computador onde o firebird está instalado é um XP e não é dedicado, eu uso TSQLConection+TSQLDataSet+TDataSetProvider+TclientDataSet com BorlandSoketServer.

Recentemente fiz uns testes com IP Fixo e não percebi diferença em relação ao NOIp, o que percebi é que tem muita diferença em relação a extensão do arquivo, por exemplo .GDB é muito mais lento que .FDB.

Fico no aguardo de algumas dicas.


Diegotiemann

Diegotiemann

Responder

Posts

14/08/2009

Emerson Nascimento

o sistema deveria ser em camadas...


Responder

Gostei + 0

14/08/2009

Osocram

eu acho q ip fixo ou não. Não interfere na velocidade.

O que interfere é o banco e o servidor de aplicação serem dedicados, e de preferencia o banco ser linux

Isso ja é um começo p melhorar a velocidade
Ter o sistema em 3 camadas vai ajudar tbm.
Fazer um tunning nos seus sql´s


Responder

Gostei + 0

14/08/2009

Diegotiemann

Continuei pesquisando e encontrei um tal de Zebedde.

Em alguns lugares dizia que ele ajuda na questão da velocidade, mas tbm encontrei váriso usuários dizendo que não teve diferença.

Alguém de vcs já usou ele?


Responder

Gostei + 0

14/08/2009

Emerson Nascimento

você pode implementar um compactador - via intercept GUID - que será utilizado pelo SocketConnetion e/ou pelo SocketServer.

o Delphi traz um exemplo: intrcpt.dpr
esse projeto irá gerar uma dll que deverá ser instalada tanto nos clientes quanto no servidor.

estude a propriedade InterceptGUID do objeto SocketConnetion.


Responder

Gostei + 0

14/08/2009

Osocram

Olha eu entrando de bicudo aqui...
XD
Nossa... isso é mto interessante.

Lembro que um amigo meu usava um componente para conectar no banco, acho q era do DevExpress ele ja tinha essa opção de compactar os dados antes de transmitir....
Mas eu gosto de usar copmonentes nativos do delphi e não sabia como implementar isso...
Vou dar uma olhada nisso tbm..

você pode implementar um compactador - via intercept GUID - que será utilizado pelo SocketConnetion e/ou pelo SocketServer. o Delphi traz um exemplo: intrcpt.dpr esse projeto irá gerar uma dll que deverá ser instalada tanto nos clientes quanto no servidor. estude a propriedade InterceptGUID do objeto SocketConnetion.



Responder

Gostei + 0

14/08/2009

Emerson Nascimento

lembrando que o intercept pode ser indicado para uma porta específica.

você pode, por exemplo:
- deixar a porta 211 para as conexões internas, sem o intercept (compactador) e;
- deixar a porta 212 para as conexões externas, usando o intercept nesta porta.

trabalho desta forma e posso dizer: a diferença é absurda! nas conexões internas não faz diferença (às vezes fica até pior, por conta de ter de compactar e descompactar os dados) mas nas conexões externas a diferença é nítida. o sistema roda em conexões discadas sem gargalo, como se estivesse numa rede interna.


Responder

Gostei + 0

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

Aceitar