是否Ajaxify?

时间:2008-12-01 03:15:45

标签: javascript ajax asynchronous scaling

我真的很喜欢Ajax使网络应用程序更像桌面应用程序的方式,但我担心高容量网站上的点击率。我正在开发一个基于内联网的数据库应用程序,一次不会有超过2-4人访问。我正在疯狂地解决它,但它让我想知道,Ajax有多大?

点击量在多大程度上超过了使用Ajax所带来的好处?与整页刷新相比,它看起来并不真实,因为理论上,您只更新需要更新的部分。

我很好奇你是否有人在高容量网站上使用过Ajax,你使用它的能力是多少?它是否会产生扩展问题?

5 个答案:

答案 0 :(得分:2)

在我当前的项目中,我们确实使用了Ajax,并且遇到了扩展问题。由于我目前的项目是一个为大城市的员工进行计时的J2EE站点,我们发现最好是浏览器端可以缓存在用户会话期间不会改变的数据。幸运的是,我们正在转向一个模型,在这个模型中,我们只有一个管理流程,为尽可能多的员工提供计时。这类似于ERP应用程序的工作方式(或电子邮件应用程序)。因此,我们的业务需求是浏览器端可以容纳大量数据,但我们并不认为命中量是一个严重的问题。所以我们在浏览器端保留了一个XML数据岛。此外,我们仅根据需要加载数据。

我强烈推荐这本书 Ajax设计模式或他们的site

答案 1 :(得分:2)

Ajax应该可以帮助您在大容量网站上获得带宽,如果你担心的那样,就像你说的那样,只更新需要更新的部分。我的Ajax问题是,如果访问者没有启用javascript,您的网站可能会变得无用,而且大多数时候我不想为非JavaScript用户再次编写网站代码。

答案 2 :(得分:2)

以这种方式看待:AJAX不能是唯一的选项,因为!脚本的可能性,它必须作为现有架构之上的层存在,以提供一些优秀的体验问候。鉴于此,AJAX不可能创建更多请求或更多的工作而不是简单的HTML,因为它正在处理完全相同的数据传输。

它可以节省带宽和服务器负载,因为AJAX使您能够仅传输 数据。每次刷新页面时,您都可以节省冗余的HTML,图像,CSS等请求,同时提供更快捷的用户体验。

正如 mike nvck 指出轮询技术是这个规则的一个很大的例外,但这是关于技术而不是技术:如果你有一个简单的页面,你会有同样的影响轮询。

了解该工具并将其用于设计的内容。如果AJAX实现降低了性能,那么你做错了。

(fwiw,我对AJAX进行性能分析与简单HTML的经验往往导致约60%的带宽,约80-90%的性能优势)

答案 3 :(得分:1)

ajax应用程序最常见的扩展问题是,当他们设置为与服务器进行检查以查看内容是否在此期间得到更新时,无需用户主动请求它。每10秒检查5个客户端不是每10秒检查5000个客户端。

答案 4 :(得分:1)

一方面,Ajax减少了服务器工作负载,因为它通常仅显示或刷新页面的一部分,而另一方面则增加了服务器的命中数。我会说,这完全取决于您的Web应用程序的体系结构。如果你的应用程序需要对每次命中(如数据库访问)进行大量处理,而不管响应的大小,那么Ajax会给你带来很多打击。