Ho un'applicazione web scritta in ASP.Net 3.0 utilizzando C#, la macchina di produzione è un Windows 2003 Server con IIS 6.0 e di SQL Server 2005.applicazione ASP.Net scorre lento a prima volta
Applicazione Struttura
il seguente mostra la struttura della mia applicazione web ASP.net:
applicazione radice in IIS (// localhost/ES) comprende le pagine comuni, per esempio: pagine master, tema, il controllo dell'utente, la cartella immagini . numero di sotto-progetti sotto l'applicazione radice (// localhost/es/sotto-progetto). eliminare web.config nei sottoprogetti assemblare i file di sottoprogetti è sotto la cartella bin dell'applicazione radice (proprietà del sottoprogetto >> compila >> percorso di generazione build: .. \ bin \ la mia applicazione è a 3 livelli applicazione web (strato biasness, strato di dati e lo strato di presentazione. Inoltre, ogni pagina aspx ha il suo codice al file cs)
Impostazioni IIS
pool di applicazioni Riciclaggio del processo di lavoro dopo "1740 in minuti" Idle timeout dei processi di lavoro dopo essere stati inattivi "20 in minuti" Elaborazione ping ogni 30 secondi "Termine avvio per processer lavoratore "90 secondi" limite di tempo Shoutdown per processer lavoratore "90 Seconds"
configurazione dell'applicazione
Cache file ASP limitati in memoria "500" file ASP
cache limitate sul disco "2000"
Distribuzione applicazione:
ho pubblicare l'applicazione web con tutti i suoi file per la produzione di servire r.
Il problema:
L'applicazione viene eseguita abbastanza lento alla prima volta, ci vogliono 10 secondi verso l'alto per caricare, ma ogni al prossima volta che una pagina viene richiesta è essere più veloce. Credo che la prima volta che viene richiesta una pagina, venga compilata e in genere occorra più tempo rispetto alle altre richieste, perché la pagina si trova nella memoria cache. La domanda qui è perché ci vuole molto tempo quando si compila la pagina alla prima volta?
tentativi di risolvere il problema:
ho cercato di fare quanto segue:
- distribuzione di una copia dei file necessari al server di produzione.
- impostazioni di IIS cambiate, modificate Disconnes arresto del processo di lavoro
- disattivare l'analisi
- Spegnere stato sessione
- Disabilita stato di visualizzazione di una pagina
- Set debug = false nel web.config
- Creazione di un sottoprogetto ciao mondo sotto l'applicazione radice, ci vogliono 5 secondi.
- Creazione di un'applicazione web parola hello separata, come sopra richiede molto tempo per caricare.
- Rimuovere il codice nel gestore di eventi page_load, ma non ha influito sulle prestazioni.
- pubblicare solo il file necessario dell'applicazione radice (nessun codice scritto nel codice dietro), e tutti i file nel codice sorgente di sotto-progetto (codice è nel codice dietro),
Tuttavia, l'applicazione inizia ancora lentamente ma poi diventa più veloce.
Si prega di aiutare a diagnosticare e risolvere questo problema.
http://stackoverflow.com/questions/13386471/fixing-slow-initial-load-for-iis –