Temos um aplicativo do Serviço de Aplicativo do Azure usando o Java Tomcat 8.5 em execução na região oeste dos EUA. O Plano de Serviço para este Serviço é Padrão, Grande.
Este aplicativo de Serviço de Aplicativo está conectado a um Serviço de Banco de Dados SQL que pertence a um Grupo Elástico também no Oeste dos EUA, cujo Plano de Serviço é Padrão 1200 eDTU.
O problema que estamos enfrentando é um desempenho muito ruim entre a interação de ambos os servidores.
Estamos testando chamando um WebService RESTful no Serviço de Aplicativo que deve inserir 50 registros em 2 tabelas no banco de dados. 100 registros inseridos. Para fazer esta tarefa, são necessários 3000 ms.
Nós medimos isso salvando registros de data e hora entre o processo de inserção inicial e o final da inserção. Portanto, não há tempo entre o cliente local e a comunicação do serviço de aplicativo.
Se executarmos a mesma chamada para o Restful WebService na máquina local com o Banco de Dados SQL em execução na mesma máquina local que o Servidor Tomcat, a tarefa foi concluída em 400 ms.
Então, pretendo pensar que o problema deveria ser a latência da conexão entre esses dois servidores na nuvem azul ou talvez estivesse faltando alguma coisa aqui.
É por isso que estou perguntando, eu sou muito novo na tecnologia azul e talvez haja outras opções que possamos tomar para fornecer uma melhor comunicação entre os servidores ou há uma maneira que eu não sei para depurar esse problema .
Como questão secundária, se este servidor 2 estiver dentro do meu próprio datacenter, assegurarei que ele se comunique diretamente em sua própria rede, não tendo certeza se esse serviço está disponível em azul no momento.
Estas são as definições das 2 tabelas nas quais o serviço está inserindo registros:
CREATE TABLE [dbo].[Vehiculo](
[Id] [decimal](18, 0) IDENTITY(1,1) NOT NULL,
[CodigoCliente] [int] NOT NULL,
[NumeroVehiculo] [int] NOT NULL,
[Denominacion] [varchar](99) NOT NULL,
[NumeroTarjeta] [int] NULL,
[Placa] [varchar](10) NULL,
[CuentaPresupuestal] [varchar](99) NULL,
[NumeroPatrimonial] [varchar](99) NULL,
[Grupo] [varchar](99) NULL,
[NumeroEconomico] [varchar](99) NULL,
[ClienteId] [decimal](18, 0) NULL,
[UltimaActualizacion] [datetime] NULL,
[Tenant] [varchar](50) NULL,
[IdOrigenDeDatos] [decimal](18, 0) NOT NULL,
[FechaAlta] [datetime] NOT NULL,
[FechaUltimaModificacion] [datetime] NOT NULL,
[PrimerActualizacion] [datetime] NOT NULL,
CONSTRAINT [PK_Vehiculo] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Cliente](
[Id] [decimal](18, 0) IDENTITY(1,1) NOT NULL,
[Codigo] [int] NOT NULL,
[Denominacion] [varchar](255) NOT NULL,
[CondicionVenta] [varchar](50) NOT NULL DEFAULT ('N/A'),
[TipoDeValor] [varchar](50) NOT NULL DEFAULT ('N/A'),
[PlazoDePago] [int] NOT NULL DEFAULT ((0)),
[UltimaActualizacion] [datetime] NULL,
[Tipo] [varchar](50) NOT NULL DEFAULT ('N/A'),
[Grupo] [varchar](50) NOT NULL DEFAULT ('N/A'),
[Zona] [varchar](50) NOT NULL DEFAULT ('N/A'),
[EjecutivoDeCuenta] [varchar](50) NOT NULL DEFAULT ('NO INFORMADO'),
[Clasificador] [varchar](20) NOT NULL DEFAULT ('CLIENT'),
[Indicador001] [varchar](50) NULL,
[FechaIndicador001] [datetime] NULL,
[Indicador002] [varchar](50) NULL,
[FechaIndicador002] [datetime] NULL,
[Geolocalizacion] [varchar](50) NULL,
[Latitud] [decimal](8, 6) NULL,
[Longitud] [decimal](9, 6) NULL,
[Colonia] [varchar](50) NOT NULL DEFAULT ('N/A'),
[Delegacion] [varchar](50) NOT NULL DEFAULT ('N/A'),
[Ciudad] [varchar](50) NOT NULL DEFAULT ('N/A'),
[Estado] [varchar](50) NOT NULL DEFAULT ('N/A'),
[Correo] [varchar](200) NULL,
[Tenant] [varchar](50) NULL,
[IdOrigenDeDatos] [decimal](18, 0) NOT NULL,
[FechaAlta] [datetime] NOT NULL,
[FechaUltimaModificacion] [datetime] NOT NULL,
[PrimerActualizacion] [datetime] NOT NULL,
CONSTRAINT [PK_Cliente] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Como você pode ver, a primeira tabela Vehiculo tem 17 colunas, e o Cliente tem 29 colunas.