1

我有一个 ASP.NET MVC 项目,它运行得像糖蜜一样慢。我在一个特定的电话上打开了 Fiddler,发现有几个电话有很大的改进空间,至少可以说:

在此处输入图像描述

我理解的蓝线是对我的控制器的调用,我知道去哪里优化这些东西。但我看到一堆绿线(我认为这意味着 javascript),而且这些也需要很长时间。我必须假设 jQuery 和 Kendo 脚本通常不会花费 4-6 秒的时间来运行,所以我们的项目代码中肯定有一些东西导致了速度变慢。但是我如何追踪哪些代码需要优化呢?

编辑: @DaggNabbit 在下面的评论中指出,缓慢是因为这些 Javascript 是使用 cachebuster 参数调用的,所以每次调用都会重新下载它们!但是我在我的代码中看不到我们明确添加缓存拦截器的任何地方。例如:

<script src="@Url.Content("~/Scripts/kendo.web.min.js")"></script>
...
@Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile")

我真的不是 UI 专家,但我看不出 cachebuster 是从哪里来的。还有其他想法吗?

4

3 回答 3

1

@DaggNabbit 正确识别的问题是使用 cachebuster 参数调用了 javascript。我已邀请他将他的答案发布为正确答案;当他这样做时,我会给他答案。

同时,如果您对插入 cachebuster的原因感兴趣,请参阅此处

于 2013-05-09T07:01:28.320 回答
1

为了提高性能,您可以使用 javascript 闭包和 css 闭包,它们负责将所有 .js 文件绑定到一个文件中,并将所有 css 文件绑定到另一个文件中,这样会增加加载时间。

于 2013-05-06T09:40:20.590 回答
0

我建议将所有 javascript 捆绑到一个compressed.js 文件中,将所有css 文件捆绑到一个compressed.css 文件中。这将减少加载所需的时间。

目前,这需要 4-6 秒,因为 js/css 文件等待另一个文件完全加载,而不是向服务器发出自己的请求以获取他的进程。在页面加载时调用控制器时,您也需要在查询中优化代码。

您将获得免费的 dll 来压缩并将所有 js/css 文件捆绑到一个压缩文件中。

希望你明白我的意思。

于 2013-05-06T08:54:52.307 回答