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

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s