我为我的页面使用了 miniprofiler,因为我认为我的第一页和其他一些页面的加载时间很长。我从 miniprofiler 开始,但我认为它是非常好的工具。我有这个结果:
http://localhost:50783/
192.2 +0.0
- 从数据库中获取文章 2.2 +186.9
- 查找:索引 866.4 +190.9
- 渲染:索引 1839.0 +1058.1
- 查找:_Article 530.0 +2809.0
- 部分渲染:_Article 64.3 +3339.2
- 部分渲染:_Article 8.2 +3404.2
- 部分渲染:_Article 12.5 +3413.0
- 部分渲染:_Article 8.7 +3426.2
- 部分渲染:_Article 7.9 +3435.4
- 部分渲染:_LeftMenu 64.8 +3520.4
- 部分渲染:_LogOnPartial 3.3 +3556.3
- 部分渲染:_RightMenuTest 2530.1 +3591.2
- 部分渲染:_NextMatch 3.5 +4088.7
- 部分渲染:_Standings 4.7 +4226.5
- 部分渲染:_Footer 21.2 +6137.4
任何人都可以帮助我减少查找的时间吗?这是什么意思?我知道 RightMenuTest 的时间最长,我也在努力减少它。我在那里有很多我自己的助手,我认为这是部分视图_RightMenuTest 的问题。所以我需要帮助减少其他时间。
谢谢
编辑:
_文章:
@model SkMoravanSvitavka.Models.Article
<h3>@Html.ActionLink(Model.Title, "Zobrazit", "Clanek", new { id = Model.ArticleID }, null)</h3>
<p>@Html.Raw(Html.ArticleImageToSmall(Html.Article(Model.Text))) </p>
@Html.ActionLink("Počet komentářů:" + Model.Comments.Count, "Zobrazit", "Clanek", new { id = Model.ArticleID }, null)
文章索引视图:
@model IEnumerable<SkMoravanSvitavka.Models.Article>
@{
ViewBag.Title = "Sk Moravan Svitávka - oficiální stránky fotbalového klubu";
}
@if (Model != null)
{
foreach (var item in Model)
{
@Html.Partial("_Article", item);
}
}
文章控制器中的索引:
public ActionResult Index()
{
var profiler = MiniProfiler.Current;
using (profiler.Step("Getting articles from database"))
{
var model = repo.GetLatestArticles(5);
return View(model);
}
}