Il Throttling in WCF 4.0

Il Throttling è quella parte di configurazione di Windows Communication Foundation che permette di impostare l’impatto che il servizio WCF avrà verso il sitema operativo. Nello specifico è possibile modificare i valori dei parametri MaxConcurrentSessions, MaxConcurrentCalls  e MaxConcurrentInstances.
Nelle versioni antecedenti alla 4.0 i valori di default erano i seguenti:

  • MaxConcurrentSessions (default: 10);
  • MaxConcurrentCalls (default: 16);
  • MaxConcurrentInstances (default: 26);

Purtroppo questi valori possono non essere adeguati a molte realtà applicative, obbligando così l’utente a modificarli per evitare che alcuni client vadano in errore o non riescano a connettersi verso il servizio.
Sfortunatamente, per un utente normale non è facile capire il problema se non attivando il Trace di WCF che, superato il limite impostato di default, logga un’apposita eccezione che ne permette l’individuazione.

Come già detto qui, uno degli obiettivi di Microsoft per Windows Communication Foundation è di ridurre il più possibile la parte di configurazione per i servizi WCF e, proprio per questo motivo, la casa ha deciso di aumentare i sopracitati valori di default già dalla prossima release, come mostrato nell’elenco seguente:

  • MaxConcurrentSessions (default: 100 * ProcessorCount);
  • MaxConcurrentCalls (default: 16 * ProcessorCount);
  • MaxConcurrentInstances (default: è il totale del MaxConcurrentSessione e MaxConcurrentCalls);

Per maggiori informazioni rimando a questo post.


Comments