Ho un servizio WCF distribuito in un'app console con BasicHTTPBinding e SSL abilitato. Il seguente attributo è impostato così:Servizio WCF Throttling
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
ho anche impostare il comportamento di limitazione al
<serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="2147483647"
maxConcurrentInstances="2147483647" />
D'altra parte ho creato un client di prova (per test di carico) che avvia più client contemporaneamente (più thread) ed esegue le transazioni sul server. Tutto sembra a posto, ma sul server l'utilizzo della CPU non aumenta, quindi ho aggiunto alcune registrazioni per visualizzare il numero di chiamate simultanee al server e ho scoperto che non è mai andato oltre 6.
Ho esaminato il codice di registrazione del contatore delle prestazioni altro di due volte e mi sembra soddisfacente.
Quindi voglio chiedere dov'è il problema in questa situazione? Non ho ancora specificato alcun tipo di ContextMode o di ConcurrencyMode.
Dopo questo post ho notato che ogni volta che avvio un altro client di Intance of Test il mio contatore di chiamate server contemporanee aumenta a 2 come se sto eseguendo solo 1 istanza le chiamate simultanee di massimo Rcvd saranno 2 e se ci sono due istanze uguali il valore va a 4 e così via. Esiste un limite di Numero di chiamate WCF da una sola volta?
******** Aggiunto il 17 marzo ********
Oggi ho corso un altro test con un client di prova (con 50 utenti simultanei) sulla stessa macchina su cui il server è in esecuzione. Questa volta sto ottenendo il risultato esatto che volevo che mostrasse (cioè il numero massimo di chiamate simultanee Rcvd by Server = 50).
Ma ho bisogno di farlo ugualmente su altre macchine. Qualcuno può aiutarmi su questo?
Da @JuliaS: Da dove viene questa linea va? Si tratta di un'impostazione del servizio client o WCF? –
scusa per la risposta tardiva: questo va a qualsiasi applicazione .net che rende più connessioni simultanee in uscita a qualsiasi server. –