过量使用AJAX会影响性能吗?在大型Web应用程序的情况下,您如何处理AJAX请求以控制异步请求?Ajax是否会降低性能?
回答
多余使用任何东西会降低性能;在必要时使用AJAX可以提高性能,特别是如果替代方案是服务器的完整整页往返[asp.net术语中的'回传']
AJAX本身(被异步请求)..不一般。
但是,如果您有大量的javascript和标记,并且有大量数据通过您的xmlhttprequests传输,那么您可以看到性能受到影响。这真的取决于你希望你的网站如何运作,如果雕刻正确,任何降级通常都是可以避免的。
Ajax只是一个普通的HTTP请求,因为你的服务器可以处理这些请求,这不会是一个问题。 Ajax的好处在于用户更快感受到性能,因为该页面不必为每个用户操作重新加载和重绘。
如果可扩展性是一个问题,我相信您也正在考虑通过向服务器场添加更多Web服务器来水平扩展系统。无论如何,即使是非Ajax的网络应用也一样。
如果网站很繁忙,那么它最终会杀死服务器,除非你在农场。 至于网站本身,它不应该。
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版本可以从几乎相同的速度加载到四倍的速度。这完全取决于网站的设计(图形和其他内容)以及您正在更新的内容。
不足之处在于,由于您必须加载一些框架(即使您创建了自己的框架),您将会对第一页的负载稍微慢一些,或者进行任何完全刷新,并且会增加处理加载了一下。但是,这只是因为阿贾克斯提高了生产力,因此用户可以提出更多请求/更新
- 1. log.debug是否会降低性能
- 2. #defines是否会降低性能?
- 3. SmtpClient.SendAsync是否降低或提高性能?
- 4. 向MySQL引入外键是否会降低性能
- 5. Java安全管理器是否会降低性能?
- 6. 嵌套select子句是否会降低数据库性能?
- 7. 事务块是否会降低SQL Server的性能?
- 8. 生活时间(ttl)是否会影响或降低性能?
- 9. Vim滚动性能是否会降低垂直分割窗口的性能?
- 10. CCSprite降低性能
- 11. 增加块大小会降低性能
- 12. elasticsearch使用random_score会降低性能
- 13. 降低AWS EFS的性能
- 14. 分页的地址转换是否会降低内存访问性能?
- 15. 导入模块(但不使用它)是否会降低Python的性能?
- 16. 在脚本语言中调用shell命令是否会降低性能?
- 17. 是否继续打印某些值会降低并行处理的性能
- 18. n层体系结构是否会降低应用程序性能
- 19. 触发器是否会降低性能?插入和删除表格?
- 20. 将大型数组传递到类时是否会降低性能?
- 21. SQL查询中的unicode字符是否会导致数据库性能降低?
- 22. 是否添加了许多方法来降低性能?
- 23. 它是否可以提高性能并降低级别类型?
- 24. 反向代理会降低AJAX
- 25. 降低MySQL性能的持久性
- 26. setInterval能否大幅降低浏览器性能?
- 27. 降低python降价能力
- 28. 降低复杂性
- 29. 为什么-Xrs降低性能
- 30. 坚持性能逐渐降低
这太含糊了。影响什么表现?什么ajax? – SCdF 2008-09-19 04:12:53