Because SharePoint is based on ASP.NET, requesting a SharePoint page for the first time after an application pool recycle can take a long time.
One common way to reduce the delays experienced on first time page request is to use one of the "warm-up" scripts available on the internet. However, most warm-up scripts rely on requesting every url in a farm but for large farms, with hundreds or even thousands of web sites and site collections, managing a warm-up script quickly becomes a burden.
In this post I give a few system configuration tips that will reduce the time needed for compiling ASP.NET pages, maybe even up to the point that a warm-up script is not needed anymore.
Deploying SharePoint farms on servers with an active Windows firewall requires opening several ports to achieve a fully functional farm.
In production environments the best practice is to manage the firewall settings using domain policies.
However, in staging environments the firewall rules often need to be created manually; a task that gets old very quickly so below is a sample PowerShell script that automates this rather tedious and time-consuming process.