我最近创建了一个asp.net mvc web应用程序,并在网上发布.

当第一次加载网站时,你会发现它实际显示大约需要10-15秒,但是在点击一次后,它的加载速度与我预期的第二次加载速度一样快.我只是想知道是否有人知道为什么这个网站要花这么长时间?

推荐答案

通常,当应用程序域启动时,应用程序总是需要一点额外的时间来加载.

从编写糟糕的代码(即:Application_Start)到您可能正在使用的某些库(例如,ORMs),都可能加剧这种情况.你加载了多少个模块?

首先,查看你的网站.配置为臭名昭著的<compilation debug="true">.在生产环境中,这可能会对性能产生重大影响.将其设置为"false"!

建议在谷歌上搜索"improving application startup time",并寻找可能与您的特定应用程序相关的内容.

Update from your first comment:

如果您看到应用程序在持续30分钟后再次启动(挂起几秒钟),这很可能与IIS中的应用程序池回收设置有关.

进入IIS管理器(假设v7+:

  1. 应用程序池
  2. 右键单击用于应用程序的池
  3. Select "回收",会出现一个标签为"回收"的窗口
  4. 判断这些设置,因为它们将决定何时进行

就总体性能而言,您可能需要try :

  1. 添加一些调试语句,以在
  2. 创建一个完全干净的演示项目并部署它.看看是不是

如果你被难倒了really次,2次可能是你最好的 Select ,尽管这可能是最慢的 Select .

Asp.net相关问答推荐

如何处理当前文件中基本文件中的S onClick方法

分层架构中的 ASP.NET 和实体框架 - 仅将实体框架用于 ORM

ASP.NET - 在屏幕底部显示应用程序构建日期/信息

带有 Web 套接字的 SignalR

有条件地在 Gridview 中隐藏 CommandField 或 ButtonField

下载功能在 asp.net 的更新面板中不起作用

获取在 asp.net identity 2.0 中分配了角色的用户列表

在 Asp.net 中通过 Button 的 CommandArgument 传递多个参数

如何使用 json 将复杂类型传递给 ASP.NET MVC 控制器

无法加载文件或程序集 'System.Web.Mvc,版本 = 3.0.0.0,Elmah.MVC 问题

使用 Lucene.NET 索引 .PDF、.XLS、.DOC、.PPT

Devexpress 或 Telerik Controls 比较

Asp.net 中的下拉列表验证使用必填字段验证器

如何使用 asp.net 获取 html Select 的选定值

如何在 IIS 7.5 上使用 ASP.NET 表单身份验证保护静态文件?

在 asp.net 中将 JSON 转换为 .Net 对象时出错

如何防止aspxerrorpath作为查询字符串传递给 ASP.NET 自定义错误页面

为什么 HttpWebRequest 会抛出异常而不是返回 HttpStatusCode.NotFound?

如何直接在 .aspx 页面中访问 web.config 设置?

GZIP 与 DEFLATE 压缩相比有什么优势?