MVC发布优化步骤详解

MVC项目发布总是会遇到第一次访问慢或者隔一段时间访问又会变慢的问题,总结了一下,速度立马快起来(包括第一次访问慢和隔一段时间访问慢问题的解决)

1,EF预热(代码层面)

可在Global.asax中的Application_Start方法加入预热代码

protected void Application_Start()
{
  XmlConfigurator.Configure();

  AreaRegistration.RegisterAllAreas();
  GlobalConfiguration.Configure(WebApiConfig.Register);
  FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
  RouteConfig.RegisterRoutes(RouteTable.Routes);
  BundleConfig.RegisterBundles(BundleTable.Bundles);

  AMConfig.InitialAutoMapper();

  System.Web.Optimization.PreApplicationStartCode.Start();

  // 解决第一次加载慢的问题
  using (var dbcontext = new DbContext())
  {
  var objectContext = ((IObjectContextAdapter)dbcontext).ObjectContext;
  var mappingCollection = (StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);
  mappingCollection.GenerateViews(new List<EdmSchemaError>());
  }
}

也可访问大佬的详细说明,https://www.cnblogs.com/dudu/p/entity-framework-warm-up.html

2,关于发布

普通发布是没有编译过的,需要上IIS上进行编译,这是造成第一次访问变慢的主因,具体步骤如下

 2.1 发布页面

 

2.2 设置(勾选上在发布期间预编译)

2.3 配置

 2.4 保存发布

详细说明请访问:https://blog.csdn.net/willingtolove/article/details/98671554

3 IIS设置(此项为过一段时间又会变慢的主因)

 3.1 程序池

3.2设置程序池

点击高级设置,按图中步骤进行操作

 设置回收时间

 3.3 选择网站-高级设置

 详细说明请访问:https://www.cnblogs.com/zhao123/p/11163454.html

 4,其他项说明

  4.1 请按步骤进行

  4.2 如果还慢,请仔细检查设置和自己代码是否存在逻辑和业务问题导致的性能问题

原文地址:https://www.cnblogs.com/boosasliulin/p/14215813.html