Web应用返回数据但速度太慢

建造者鲍勃

我创建了使用MVC 4.0,WebServices,RestFul,SQLServer 2008 R2,jQuery Mobile(一页应用程序),AJAX体系结构的数据驱动的Web应用程序。

当用户单击“按名称搜索”>“浏览名称”时,这将引入表用户(以及其他几个数据查找表)中的所有数据。

该应用程序旨在在Retina显示器以及普通显示器(仅一张大尺寸图像)上使用,并在html中调整其大小。

问题在于,此搜索有时可能需要10秒钟才能返回大约400条记录,但是通过使用URI,它仅需要大约2条记录。这是正常现象懒惰加载可以提供帮助吗?我如何在下面的AJAX中实现这一点?

AJAX:

function getConsultants() {

    $.ajax({
        type: 'GET',
        async: false,
        url: 'http://31.222.187.42/hca-consulting/Farm/users',
        //url: 'json/get_consultants.txt',
        dataType: 'json',

        success: function (users) {

           hcaConsultants = users;

        },
    });
};
Moby的特技双人

我认为这是您遇到的问题:

  1. 初始页面加载量为13.1MB(轻松,老虎!)。显然,这需要解决。通过优化器运行所有PNG和JPEG。是Visual Studio的附加组件。有鉴于此,在许多PC上,浏览器进程对RAM的使用将大打折扣。Chrome对我来说是250MB,Opera则是650MB。这是一个繁重的页面,初始页面加载时有171个请求。真的很高。考虑将sprites也用于图像,尽可能多地合并,性能差异惊人。请求数量越高,页面的效率就越低。

  2. 您是否真的需要预加载所有这些图像?绝对要考虑您提到的惰性加载器或其他图像加载器。

  3. 调用浏览名称时,HTTP堆栈上的请求数最多增加到548个单独项目,最大达到14.3MB(但是所有图像链接都已断开,因此我建议,一旦将它们放置到位,它就会当时的大小为30 MB以上,对于潜在的移动(网络或安装?)应用程序来说显然是不可接受的。

  4. 您可能还希望考虑将jQuery模板化以加快将这些记录传递到DOM的速度。另外,您还可以实现滚动加载,例如Waypoint插件,它的最小长度为8kb,因此,当它们向下滚动时,更多的JSON结果会在浏览器中显示;一次处理的记录越少,浏览器内的效率和响应速度就会越高。

  5. 您将需要重的缓存在这里,如果你正在提供这种通过网络而不是作为安装的应用程序,张开双臂拥抱它。还可以考虑在构建时通过VS post build事件和我的英雄Douglas Crockford的JSMin将所有自己的Javascript捆绑和最小化为一个文件,或使用框架内置的捆绑。另外,您的库的CDN。

的确如此,您的页面加载速度如此之慢的原因是它在其资源的负担之下越来越,因此为什么当直接请求时,您的api的JSON会如此迅速地返回。

是一个很棒的网站,可用于比较您的页面速度和Yslow得分,以下是该报告以及针对您网站的建议,以获取其他提示和技巧。响应速度和感知速度对于这些类型的应用程序至关重要,因此我为您加油,使其跻身世界一流之列。

希望这对您的应用有所帮助,并祝您好运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章