Sto lavorando su un'applicazione web ospitata su più front-end Web con bilanciamento del carico (WFE). Questa applicazione ha un metodo API che esegue una query di database e restituisce i risultati. Questa query esegue solo letture. Esiste un server di database singolo .
Stiamo scoprendo che quando il metodo API viene chiamato in rapida successione e le richieste vengono distribuite tra i WFE, le query del database eseguite verranno bloccate in modo intermittente.
Ci sono scritture occasionali nel database che si verificano da altre parti del sistema. Non ho ancora verificato se si verificano nello stesso momento.
Il carico sta aumentando e questo problema potrebbe verificarsi più frequentemente nel tempo. Abbiamo ottimizzato la query e le impostazioni della transazione di query nel miglior modo possibile.
Esiste un'architettura più appropriata per questo scenario?
(Le tecnologie coinvolte sono MS .NET / Web API / SQL Server 2008 R2 anche se siamo aperti a qualsiasi opzione.)