• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

解决asp.net mvc首次启动速度慢的问题记录IIS性能优化

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

事情是这样的,做好一个ASP.NET MVC网站之后,首次启动速度非常慢,要几秒到几十秒不等的时间才能展现页面.每隔几十分钟就会出现一次这样的情况.问题发现了,下面开始解决.

首先

开发环境是:VS2013+IIS8+SQLExpress

部署环境是:WIN2008R2+IIS7.5+SQL


在谷歌百度一下之后,看到有人说ASP.NET网站发布的时候需要预编译.这样不但能解决首次速度慢的问题,还能把cshtml的内容编译.这样别人就看不到我们VIEW的代码了.那么打开VS.

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

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

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

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

这样就可以解决问题了.


但是在IIS7.5上并没有这些选项,需要安装一个模块:Application Initialization Module for IIS 7.5

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

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

添加如下内容(但是似乎不添加也行)

<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首次加载缓慢的问题,额这还不知道怎么解决.似乎是没办法解决的.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net优化发布时间:2022-07-10
下一篇:
asp.net 运行机制初探(httpModule加载)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap