DataSnap vs Internet

Delphi

Firebird

Infraestrutura

15/04/2016

Bom Dia Pessoal,

estou com uma dúvida e gostaria de saber se alguém pode me ajudar.

Tenho a seguinte situação:

Criei um servidor DataSnap utilizando o Rest e FireDAC (JSONReflection) em Delphi XE7 e Firebird 2.5.5.

Quando estou em um servidor Local, a performance das querys é excelente, porém quando altero para um servidor na nuvem (locaweb), há uma perca de performance significativa, o sistema fica bem mais lento que o servidor Local.

Aumentei a velocidade da internet, porém ainda há uma perca de performance significativa, apesar de ter melhorado um pouco.

Realizei alguns testes com o acesso externo (nuvem, locaweb):

1) Verifiquei se o problema estava do lado servidor, porém constatei que a performance da query é excelente, então descartei problemas com o servidor.

2) Verifiquei se o problema estava no FireDAC, no momento que os dados são passados para o componente do FireDAC no lado cliente, porém constatei que a performance também é excelente.

3) No lado cliente alterei o componente TDSRestConnection da seguinte forma:
DSRestConnection.HTTP.Peer.UseNagle     := False;
. Desta maneira, houve um ganho de performance, mas não o suficiente para ao menos chegar próximo à performance do servidor local.

3) Verifiquei então que o problema está no Get do comando de requisição do lado cliente, na chamada do método e aquisição dos dados, ou seja, provavelmente é um problema de internet.

Minha dúvida então é: Qual o motivo de ter tanta diferença entre uma conexão local e externa? Há algo que eu possa fazer para otimizar isso além de aumentar a internet?

Desde já agradeço a atenção de todos.

Luiz
Luiz Meinecke

Luiz Meinecke

Curtidas 0
POSTAR