Я просматриваю предложения по производительности, которые есть на многих страницах об asp.net. В частности, удалите неиспользуемую часть httpmodules:
<httpModules>
<add name = "OutputCache" type = "System.Web.Caching.OutputCacheModule"/>
<add name = "Session" type = "System.Web.SessionState.SessionStateModule"/>
<add name = "WindowsAuthentication" type = "System.Web.Security.WindowsAuthenticationModule"/>
<add name = "FormsAuthentication" type = "System.Web.Security.FormsAuthenticationModule"/>
<add name = "PassportAuthentication" type = "System.Web.Security.PassportAuthenticationModule"/>
<add name = "RoleManager" type = "System.Web.Security.RoleManagerModule"/>
<add name = "UrlAuthorization" type = "System.Web.Security.UrlAuthorizationModule"/>
<add name = "FileAuthorization" type = "System.Web.Security.FileAuthorizationModule"/>
<add name = "AnonymousIdentification" type = "System.Web.Security.AnonymousIdentificationModule"/>
<add name = "Profile" type = "System.Web.Profile.ProfileModule"/>
<add name = "ErrorHandlerModule" type = "System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add name = "ServiceModel" type = "System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</httpModules>
Здесь перечислено множество HTTP-модулей, и я совершенно уверен, что не все из них используются вашим приложением. Удаление неиспользуемого HTTP-модуля определенно может немного повысить производительность, так как работы будет меньше. Предположим, что аутентификация Windows в приложении не требуется. Чтобы удалить унаследованный параметр, в разделе httpModules приложения web.config добавьте элемент remove и укажите имя модуля, который не требуется. Пример:
<httpModules>
<remove name = "WindowsAuthentication" />
</httpModules>
Кто-нибудь знает, где есть описание того, что каждый делает, некоторые очевидны, но не все, я довольно давно искал в google.





Комментарий ScottGu об этом в блоге Мэдса Кристенсена.
In general you can get some very small performance wins using this approach - although I'd probably recommend not doing it. The reason is that some features of ASP.NET (forms auth, roles, caching, etc) will of course stop working once you remove the modules they depend on. Trying to figure out why this has happened can often be confusing.