Gli utenti e gli amministratori dei siti SharePoint (tutte le versioni) hanno ben presente la lentezza di caricamento delle pagine dei siti al loro primo accesso della giornata.
Come mai?
La ragione, senza entrare troppo nei particolari, è legata alla presenza (configurazione di default) di impostazioni di “recycle” delle risorse degli Application Pool su IIS, tipicamente impostate in un orario notturno.
Con la memoria liberata il server (o i server, nel caso di più Web Front-End) è senza dubbio più fresco, performante e felice… ma lo sarà meno il malcapitato primo utente della giornata che, accedendo per primo a pagine e risorse, si troverà ad attendere molto più del solito per poter poi navigare sui siti SharePoint.
Ricordo che da un cliente il primo utente della giornata, particolarmente mattiniero, era l’amministratore delegato dell’azienda… che dava certo il “buon esempio” ai dipendenti, ma che si trovava a soffrire le pene dell’inferno nell’attesa dei primi caricamenti della giornata per le pagine e per i documenti archiviati su SharePoint.
Sulla rete sono presenti numerosi script di “warm-up” che possono essere schedulati per simulare il primo accesso ai siti della giornata, eseguendo tutte le attività di compilazione .net delle risorse e messa in memoria e in cache dei file utili a far divenire veloce la navigazione dei primi “veri” utenti della giornata.
Gli script meglio realizzati sono in grado di fare il discovery automatico dei siti e dei web delle web application (senza costringerti alla manutenzione di elenchi di URL), aggiungendo la possibilità di eseguire la hit anche di URL specifici (es. una query di ricerca). Il tutto ovviamente schedulabile, solitamente attraverso Task Scheduler di Windows.
Tra i tanti progetti, ne segnalo uno abbastanza recente, disponibile su Codeplex: https://spbestwarmup.codeplex.com/