解决 EF 启动慢问题 第一次访问慢

这篇文章多半算是转载吧, 

我也是看了

http://personball.com/orm/2014/09/18/entity-framework-6-optimization-ultimate-version/

http://www.lanhusoft.com/Article/127.html

这两篇文章,才学习到的解决方法, 这两篇文章内容基本一致,我就总结一下具体的使用方法吧


我的环境: 阿里云 ESC, Windows 2008R2 ,4核  16G ,MySQL 5.6

使用的技术: MVC4, EF6, Unity, WCF

大概有5个应用, 都是用的这种框架, 所以用户第一次登录的时候,可能需要1分多钟(.....这个慢被我体现到了极致), 而且这一分钟其他用户也登录不上

好了,不解决这个问题,老板是要杀头的...我之前想过用Windows 服务去访问激活

1.是要访问Web(并且是带数据库访问的)

2.是要访问WCF(并且是带数据库访问的)

但做了一半,觉得有点恶性, EF都6了,还这么土吗? 就google 了一下看有没有相关的技术文章,果然被我挖掘到了, 我只挑选的看了上面介绍的两篇, 感觉能解决我的问题,便开始操刀了.


  1. 安装Application Initialization

2.  用Ngen安装生成EF的本地镜像


3, 禁用第一次ef查询对表__MigrationHistory的问题 

注意: 这步我看用EF Power Tool生成的 CodeFirst 都有这句静态构造函数的, 但依然执行了合并检查SQL


4.EF Pre-Generated Mapping Views(预生成映射视图)

注意: 这里两篇文章都建议我们写到 Application_Start 里面, 但我试过了, 做了这些设置后, 其实 w3wp进程的确是存在,但根本没有激活Application_start方法, 好在stackoverflow上解决了这个问题, 其实就是要在第1步的时候, 同时在WebSite选项卡中勾选对应程序的 Reload 选项.

http://stackoverflow.com/questions/13823998/call-to-application-start-after-starting-application-pool-in-iis


5.IIS 应用程序池闲置超时时间增加到了1440 一天


具体方法细节见http://www.lanhusoft.com/Article/127.html.




  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值