В файле конфигурации (web.config), который управляет приложениями ASP.NET на самом низком уровне (он находится в папке /windows/Microsoft.NET/Framework/версия-фреймворка/config/), можно посмотреть, сколько модулей запускаются без нужной веб-приложению необходимости:
<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"/>
<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel"/>
</httpModules>
В этом списке, однозначно (но не всегда) можно оставить модуль кэширования, сессий, авторизации посредством форм, перехват ошибок (пока совершенно не знаю, как он работает) и сервис-модуль (тоже пока не знаю для чего он служит).
Это ход в сторону увеличения производительности веб-приложения.
Я бы отключил и модуль сессий, но фреймворк ASP.NET MVC не поддерживает работу без этого механизма (как сделать чтобы работал).
Как отключить все модули очень хорошо описано на http://stackoverflow.com/questions/509978/something-faster-than-httphandlers/.