Problemas de desempenho do WCF NetTcpBinding Buffered vs Streamed

Eu escrevi um serviço WCF que deve transformar qualquer tamanho de arquivo, usando o Streamed TransferMode emNetTcpBindingeSystem.IO.Stream objeto.

Ao executar o teste de desempenho, encontrei um problema significativo de desempenho. Decidi testá-lo com o Buffered TransferMode e vi que o desempenho é duas vezes mais rápido!

Como meu serviço deve transferir arquivos grandes, simplesmente não consigo permanecer no Buffered TransferMode devido à sobrecarga de gerenciamento de memória em arquivos grandes no servidor e no cliente juntos.

Por que o StreamMed TransferMode é mais lento que o Buffered TransferMode? O que posso fazer para melhorar o desempenho da Stremed?

questionAnswers(1)

yourAnswerToTheQuestion