IIS7启动优化

最近基于abp做的项目在发布到IIS后,第一次被访问异常缓慢,如果时间间隔久再去访问如第一次访问一般缓慢,为了解决这个问题对项目进行了一下系列操作:

1、优化js、css插件,插件分批加载,充分利用浏览器缓存机制

2、清理部分不需要的插件

3、对EF进行预热(基于仓储Repository貌似无效)

4、IIS预加载优化


一、EF预加热,在Global的Application_Start方法添加以下代码。详细参考

            #region EF预加热
            using (var dbcontext = new EntityFramework.EmProjectDbContext())
            {
                var objectContext = ((IObjectContextAdapter)dbcontext).ObjectContext;
                var mappingCollection = (StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);
                mappingCollection.GenerateViews(new List<EdmSchemaError>());
            }
            #endregion

二、IIS预加载优化

  对于IIS8来说,预加载已做了支持,详细配置参考 、参考二

不过也提供对IIS7.5的预加载支持,需要下载两个包:appwarmup_x64.msi、ApplicationInitialization for UI

appwarmup_x64.msi的下载地址:https://www.iis.net/downloads/microsoft/application-initialization

ApplicationInitialization for UI下载地址:http://download.csdn.net/download/a66081638/9732676 (需要积分) 、不要积分

1)先安装appwarmup_x64.msi,然后重启服务器

2)再安装ApplicationInitialization for UI

三、IIS配置

1、安装完毕后,可以在iis配置管理页的‘其他’项中有一个‘Application Initialization’

2、双击该图标,进入配置页

1)配置程序池

2)配置站点

 3)应用程序池设置中的Idle Time-out设为0

一些参考:

https://www.cnblogs.com/webenh/p/6400558.html

http://www.codeweblog.com/entity-framework-6-%E9%A2%84%E7%83%AD-%E5%90%AF%E5%8A%A8%E4%BC%98%E5%8C%96/

原文地址:https://www.cnblogs.com/senyier/p/8242758.html