Ajax detoriate有表现吗?
过量使用AJAX是否会影响性能?在大型Web应用程序的上下文中,如何处理AJAX请求以控制异步请求?
解决方案
AJAX本身(是异步请求)。
但是,如果我们有大量的javascript和标记,并且通过xmlhttprequests传输了大量数据,那么可以,我们会看到性能下降。这实际上取决于我们希望网站如何运作,如果正确雕刻,通常可以避免任何降级。
过度使用任何东西都会降低性能;在必要时使用AJAX可以提高性能,特别是如果替代方法是与服务器进行完整的整页往返[asp.net术语中的'回发']
Ajax只是一个普通的HTTP请求,因此只要服务器可以处理这些请求,就不会有问题。 Ajax的好处是用户可以更快地感知性能,因为页面不必为每个用户操作重新加载和重绘自身。
如果需要考虑可伸缩性,我相信我们也正在考虑通过向服务器场添加更多Web服务器来水平扩展系统。无论如何,即使非Ajax Web应用程序也是如此。
如果站点繁忙,则最终将杀死服务器,除非我们在服务器场中。
至于网站本身,则不应该。
就像任何技术一样,AJAX取决于情况和实现方式,可以是好事,也可以是坏事。如果我们对异步过程有特定的需求,那么它是一个很好的工具。但是,如果我们不负责任地使用它,可能会遇到麻烦。如果我们确实使用它,请尝试找到一个可以完成大部分繁重工作的好框架,并注意AJAX的某些缺点...
http://learningremix.net/w2007integ/vangoori/2007/01/the_downsides_of_ajax.shtml
表现究竟是什么?我将假设我们是指用户体验方面的应用程序性能。
Ajax最擅长的是仅在需要时才引起网络流量。与其一口气下载honkin出色的网页,不如以最快的速度下载所需的内容。
然后,如果我们执行某些需要更多信息的操作,那么它将从网络中获取信息。
这意味着永远都不会下载未使用的内容(如果我们设计正确,那么与其他任何环境一样,错误的代码当然也可以用Ajax编写)。
我更喜欢将Ajax方法用于数据传输,并将客户端库(如jQuery)用于漂亮的界面。
根据情况,AJAX可能会带来性能开销,或者实际上可能比不使用AJAX的功能正常的网站具有更好的性能。
过度使用AJAX会使大量的请求变得不堪重负,这很容易使服务器过载,并且这也可能成为客户端CPU的负担。相反,AJAX还可以用于交付少量HTML和其他代码,而不是为每个请求交付整个页面,这至少减轻了服务器的负担。
这个故事有两个方面。
从客户的角度来看,AJAX通常可以提高性能。不需要加载整个页面,而是在需要时从服务器请求更少量的数据。鉴于HTML页面经常引用许多相关文件(图像,css,javascript等,每个文件都需要来自服务器(或者缓存)的命中),因此明智地使用AJAX可以提高客户端的性能。
在服务器端,此问题成为需要管理更多连接的问题之一。轮询应用程序(例如特别是浏览器内聊天)实际上可以开始增加服务器的负载,因为浏览器现在正以更快的速度到达服务器。在典型的动态应用程序中(响应是通过代码而不是从静态文件生成的),我们可能会开始遇到问题,但是这些问题通常可以通过以下事实来平衡:请求的复杂性通常要低得多(再次,我们不是生成整个页面,但只生成页面的一小部分),因此平台在任何情况下都可能获得更高的吞吐量。
任何性能问题的确切结果将取决于许多因素,包括服务器,平台,框架和当时的主要气候条件。
我的最终建议集中在创建良好的用户体验,智能开发,收集尽可能多的指标以及在知道需要时进行优化。
我会同意这里的许多其他帖子。如果我们以一种智能的方式使用它(即,不是每30秒使用ajax),那就没问题了。我在我的网站上使用ajax(并且还有一个js免费版本),并且从客户端的角度来看,ajax版本的加载速度几乎是相等的,甚至是四倍。这完全取决于网站的设计(图形和其他内容)以及我们要更新的内容。
缺点是,由于我们必须加载某些框架(即使我们像我一样创建自己的框架),因此首页的加载或者任何完全刷新的加载速度也会稍慢,并且确实会增加处理负载。但这仅仅是因为ajax提高了生产率,因此用户可以进行更多请求/更新