Integrações entre Sistemas – Parte 15 – Web Service (Async) com Servidor Síncrono

Introdução

Após uma conversa interessante com o Roger Luiz Pereira (grande desenvolvedor e amigo de trabalho) no escritório, alguns questionamentos interessantes foram levantados sobre os métodos.

Um deles está relacionado com o quanto de desempenho a implementação com async/await no lado do servidor contribui no desempenho. O objetivo deste post é contemplar este cenário nos trabalhos.

Método

Para testar esse cenário, utilizei exatamente a mesma implementação do cliente utilizada na parte 14 para o lado do cliente, com um parâmetro a mais para utilizar o servidor síncrono (método GetServiceTablesAsync), invés do servidor assíncrono (GetServiceTablesAsynchronousAsync). A implementação síncrona é a mesma utilizada na parte 4.

Resultados

A mesma metodologia é usada nestes números. Os testes são executados 10 vezes e o resultado apresentado aqui é a média dos 10. Os resultados seguem na tabela abaixo:

pt15-Comparativo1

pt15-Comparativo2

Conclusão

Como vemos, a implementação do servidor assíncrona trás benefícios tangíveis no desempenho total. Para NET.TCP: ~37% mais rápido e para SOAP ~43% mais rápido.

Código-fonte

O código-fonte de todos os exemplos está atualizado no Git Hub: https://github.com/ericlemes/IntegrationTests

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s