NetNamedPipe: variando il tempo di risposta quando la comunicazione è al minimo
-
12-09-2019 - |
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ì?
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.