WCF NetTcpBinding Problemy z wydajnością buforowane vs przesyłane strumieniowo
Napisałem usługę WCF, która powinna przekształcić dowolny rozmiar plików, używając Streamed TransferMode wNetTcpBinding
, iSystem.IO.Stream
obiekt.
Podczas wykonywania testu wydajności znalazłem znaczny problem z wydajnością. Potem postanowiłem przetestować go za pomocą Buffered TransferMode i zobaczyłem, że wydajność jest dwa razy szybsza!
Ponieważ moja usługa powinna przesyłać duże pliki, po prostu nie mogę pozostać w trybie buforowania transferu z powodu narzutu zarządzania pamięcią na duże pliki po stronie serwera i klienta.
Dlaczego Streamed TransferMode jest wolniejszy niż buforowany transferMode? Co mogę zrobić, aby poprawić wydajność Stremed?