Domanda

Ho due WCF apps comunicazione unidirezionale tramite named pipe. Tutto è bello, tranne per una cosa: Normalmente, il ciclo di richiesta / risposta impiega tempo zero (marginale). Tuttavia, se ci fosse un arco di tempo di, diciamo, mezzo minuto senza alcuna comunicazione, la richiesta / risposta aumenta fino a ~ 300-500ms.

Mi sono guardato intorno la rete e ho avuto l'idea di utilizzare un meccanismo di battito cardiaco / ping per mantenere il canale di comunicazione occupato. Utilizzando tentativi ed errori ho scoperto che quando si fa una richiesta ogni 10 secondi, i tempi di risposta rimangono bassi. A partire da circa 15s intervalli, i tempi di risposta "singhiozzo" cominciano ad apparire.

Ora mi chiedo dove questo fenomeno è originario. Ho provato a installare Alle timeout immaginabili su entrambi i lati per> 1 minuto, ma questo non ha aiutato.

Qualcuno può spiegare cosa sta succedendo lì?

È stato utile?

Soluzione

Scopri post sul blog di Wenlong Dong, Perché il WCF rallentare, dopo un periodo di inattività di 15 secondi?

Il post comprende anche una soluzione fino a quando non viene risolto.

Altri suggerimenti

E 'possibile che il processo di minimo è stato paging su disco? Se si mantengono le processi ad entrambe le estremità occupato, ma non si effettua la connessione occupato, ha ancora accadere?

Che può anche non essere, ma è forse la pena di provare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top