O co jde? Když chvilku se SharePointem nepracujete, tak potom trvá docela dlouho, než se to znovu rozjede. Speciálně po ránu to je celé vytuhlé, protože se nejspíš automaticky recykloval aplication pool. Ale i při nečinnosti se sama uvolňuje paměť.
Už jsem to párkrát potřeboval a vždycky jsem to udělal jen "tak nějak". Zato teďka jsem si dal tu práci a napsal si warm-up skript v jazyce PowerShell, který projede všechny webové aplikace (web application), v nich všechny site collections (kolekce webů), v nich (v podstatě rekurzivně) všechny web site (weby) a v nich všechny složky (folder) a podsložky (subfolder) a v nich všechny soubory.
Jistě, vždycky můžete něco stáhnout jinde na internetu, ale já mám rád svoji vlastní práci.
Nedělám to ve skutečnosti rekurzivně, protože to má určitá hloubková omezení a navíc to asi žere více paměti. Ale výsledek je stejný. Dostanete seznam všech souborů, které se uvnitř nacházejí. Tedy jen těch "infrastrukturních", které má smysl oťukávat a stahovat (jako je ASPX, HTML, JS, CSS apod.). Nebudu samozřejmě stahovat všechny dokumenty, to bychom se zbláznili.
Skript taky udělá statistiku počtu všech dokumentů a těch, které skutečně postahoval. A taky jak dlouho to trvalo.
Ke stáhnutí je tady: SharePoint warm-up script
Najdete tam tři soubory. Ten TXT soubor je to stejné jako PS1, jenom s jinou příponou. Současně se tam dá najít BAT soubor, kterým se to velice jednoduše spustí - to je podle mého staršího návodu na to, jak ideálně spouštět PowerShell skripty.
Kde to spustit? No já si to dávám jako naplánovanou úlohu (scheduled task), řekněme každých 15-20 minut na každém web front-end serveru ve farmě. Optimální je udělat na web front-end serverech (pokud jsou v NLB) do HOSTS souboru všechny DNS aliasy jako loopback IP 127.0.0.1.
Tak ať slouží!