Utilizzo dotTrace Performance 4.5 per creare il profilo di un'applicazione Web .NET 3.5 C#. Quando registro una "richiesta utente" (carico di pagina), vedo 11 thread con approssimativamente la stessa durata, 7644 ms.C# Ottimizzazione delle applicazioni Web: PerformWaitCallback
- La maggior parte delle descrizioni filo contengono solo: 100% [madrelingua o codice ottimizzato] - 7644 ms
- Uno dice: 100%
Microsoft.VisualStudio.WebServer.WebServerApp.Main(String[])
- Ultimo si legge:
- 86%
System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object)
- 14%
PerformWaitCallback
(1094 ms) >> 12% =ProcessRequest
- 86%
Puoi dirmi:
- perché ci sono così tanti fili? (risorse immagini, AJAX, JavaScript)
- Che cos'è
PerformWaitCallback
? - Perché 7644 ms per solo 1094 ms di lavoro?
Stai misurando solo * una * richiesta? Dovresti avviare l'app ed eseguire * più * richieste; c'è un sovraccarico inerente coinvolto nell'avvio dell'applicazione web. – casperOne
I "riscalda" l'app prima di profilare una richiesta. Ottengo risultati simili se eseguo richieste multiple (N x 8 sec). –
Probabilmente dipende dall'utilizzo di IIS, IIS Express o Web Development Server. –