首次启动速度慢的问题记录IIS性能优化

  

ASP.NET网站发布的时候须要预编译.这样不但能解决首次速度慢的问题,还能把cshtml的内容编译.这样别人就看不到咱们VIEW的代码了.那么打开VS.html

6356998063756300008812799.jpg

发布的时候把"在发布期间预编译"打钩,点击后面的设置取消选择"容许更新预编译站点".这样编译出来的网站view被编译成.compiled文件.而且根目录下多了一个PrecompiledApp.config文件.服务器

部署到服务器上以后,问题依旧app

那么继续谷歌百度一下,看到另外一个结局反感是优化IIS.这也是上面要介绍部署环境的缘由.由于IIS7.5和IIS8有个很大的区别关于性能.若是部署在IIS8上的话,只须要简单的设置便可.下面是设置方法:ide

IIS8设置
应用程序池-高级设置-启动模式:AlwaysRunning 
应用程序池-高级设置-进程模型-闲置超时:1740 (分钟) 
应用程序-高级设置-常规-预加载已启用:True 性能

这样就能够解决问题了.这样设置了事后一天网站signaR就失效了,直接503错误。网站有些图片也会503!优化

 

可是在IIS7.5上并无这些选项,须要安装一个模块:Application Initialization Module for IIS 7.5网站

下载安装略过不提.主要记录一下配置方法.spa

打开服务器上的ApplicationHost.config文件.这个文件在IIS的安装目录Config下.code

添加以下内容(可是彷佛不添加也行)xml

< globalModules >
   < add  name = "ApplicationInitializationModule"
        image = "%windir%\System32\inetsrv\warmup.dll"  />
</ globalModules >

而后设置网站应用程序和和对应的应用程序池

< system.applicationHost >
   < applicationPools >
     < add  name = "West Wind West Wind Web Connection"
           autoStart = "true"
           startMode = "AlwaysRunning"
           managedRuntimeVersion = "v4.0"
           managedPipelineMode = "Integrated" >
       < processModel  identityType = "LocalSystem"
                     setProfileEnvironment = "true"  />
     </ add >
   </ applicationPools >
 
   < sites >
     < site  name = "Default Web Site"  id = "1" >      
       < application  path = "/MPress.Workflow.WebQueueMessageManager"
                     applicationPool = "West Wind West Wind Web Connection"
                     preloadEnabled = "true" >
         < virtualDirectory  path = "/"
         physicalPath = "C:\Clients\…"  />
       </ application >       
     </ site >
   </ sites >
</ system.applicationHost >

关键在于应用程序池设置的autoStart="true" startMode="AlwaysRunning" 这两个的意思是自动自动和启动模式.

网站应用程序设置的preloadEnabled="true"

 

这样设置完成以后网站已经基本能够保证秒开了,基本解决了第一次打开速度很慢的问题.固然还遗留了一个EF首次加载缓慢的问题,额这还不知道怎么解决.彷佛是没办法解决的.

相关文章
相关标签/搜索