Non sono sicuro se questa è una cosa. Mi dispiace per il titolo ambiguo - non ero proprio sicuro di come spiegarlo. Fondamentalmente ho una pagina web ASP.NET che esegue due query SQL e fa un po 'di logica per produrre una pagina di stato per il nostro reparto di consegna. Si aggiorna / aggiorna ogni 30 secondi, pertanto il database viene interrogato due volte su ogni aggiornamento del client. Bene, sempre più persone usano questa applicazione quindi ci sono sempre più richieste / minuto. Inoltre, è in esecuzione contro il nostro database principale e posso vederlo causare rallentamenti man mano che vengono create più app web personalizzate.
Quello che sto considerando è creare un'applicazione console e eseguirla come un servizio su un server separato che esegue query / logic ogni 10 secondi (meno della quantità di aggiornamenti eseguiti da più client). Il servizio aggiornerà una tabella che è separata dal nostro database principale. Quindi il client dovrà solo leggere quella tabella e formattare l'output invece di fare la logica principale.
Pensieri? Altre idee?
Modifica: tempi di esecuzione (fino a 30 volte / minuto):
(1605 row(s) affected)
SQL Server Execution Times:
CPU time = 1123 ms, elapsed time = 1199 ms.
(78 row(s) affected)
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 4 ms.
Succedono anche nel database principale che centinaia usano durante il giorno. Non c'è stato un rallentamento significativo, ma sto cercando di essere a prova di futuro. Anche se l'ho rallentato molto quando inviavo ~ 300 query al minuto una volta per il test. "Mi dispiace!"