Ho scritto un servizio WCF che dovrebbe trasformare qualsiasi dimensione di file, utilizzando la Modalità trasferimento trasmessa negli oggetti NetTcpBinding
e System.IO.Stream
.WCF NetTcpBinding Buffered vs Problemi di prestazioni in streaming
Durante l'esecuzione del test delle prestazioni, ho riscontrato un notevole problema di prestazioni. Poi ho deciso di testarlo con Buffered TransferMode e ho visto che le prestazioni sono due volte più veloci!
Poiché il mio servizio deve trasferire file di grandi dimensioni, non riesco a rimanere in Buffered TransferMode a causa del sovraccarico di gestione della memoria su file di grandi dimensioni sul lato server e lato client.
Perché la modalità di trasferimento trasferita è più lenta della modalità trasferimento bufferizzata? Cosa posso fare per migliorare le prestazioni di Stremed?
Che cosa esattamente ha fatto si misura? Il trasporto del messaggio? Un viaggio di andata e ritorno da un cliente all'altro con una risposta al cliente? – GaussZ
Misuro la chiamata al server e aspetto che venga restituito Stream, quindi leggo tutto il flusso con 64k di buffer nell'utilizzo del blocco. – DxCK
@DxCK: ora qual è la tua opinione? Quale dovrebbe essere usato? Ho sia grandi che piccole dimensioni di dati da trasferire. – Sreekumar