One of the most common questions I get regarding DotNetNuke performance is; "Why is the DotNetNuke login so slow?". Well, there are a number of reasons, but one of the most common issues is that every time you visit the login page it has to determine which provider to show you. If you are using multiple providers, there is not much way around this. However, if you are running a site that is NOT using any other providers, you have some options to really help speed up the performance of your login page.
Taking my business site as an example, http://www.iowacomputergurus.com, the login page this morning was taking around 4.5-5.5 seconds to load, by far the slowest page on ANY of my sites. Looking at what I provide I am only using the standard DotNetNuke authentication. However, when logging in as the Host user I find under "Host" -> "Host Settings" that both the OpenId and LiveId providers are "enabled". With them being enabled, their DLLs are loaded and they are queried to determine if they should be displayed on every visit to the login page. Simply unchecking the "Enabled" box on both has reduced the load time of the login page to about 2 seconds, a much more reasonable number!
Sadly this is a configuration element that many people do not consider, as they believe since they are not using it that it isn't affecting anything. So my recommendation is to disable ALL providers that you are NOT using, DotNetNuke due to obligations with the providers will not be "disabling" them by default so for the time being it is a configuration option that we must set!
Please share any comments/feedback below, if you have specific implementation questions please visit the forums.