javascript – 具有大量AJAX调用性能的网页
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 具有大量AJAX调用性能的网页,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3333字,纯文字阅读大概需要5分钟。
内容图文
![javascript – 具有大量AJAX调用性能的网页](/upload/InfoBanner/zyjiaocheng/696/f0b97a67965144dabba5038cf0cd7eb9.jpg)
我的项目是一个Web移动应用程序,它使用大量的AJAX调用服务器,刷新和检索数据,我使用PHP脚本从服务器获取数据.
我注意到,并且用户告诉我,有时应用程序性能非常慢.
我相信这是因为AJAX调用,我检查了我的服务器,并且在出现此问题时没有任何性能问题.
这很奇怪,因为当问题发生时,应用程序会向服务器发送AJAX请求并一直停留,直到出现超时错误,再次发送时,它会表现完美并在不到一秒的时间内给出答案.
我检查了类似的问题,我看到使用php会话可以创建文件锁,每个请求都需要等到前一个结束.
此问题取消了AJAX异步过程.
我不是在使用会话,但也许我的情况是相同的,php脚本执行文件锁定或其他类型的锁定并取消异步.
任何人都知道如何解决这个问题?
谢谢.
解决方法:
在创建包含大量AJAX请求的应用程序时,请记住以下几点:
1. Reduce the Number of Ajax Requests
对于初学者来说,可以通过完全不发出Ajax请求来获得最佳性能.这似乎既明显又毫无意义:删除Ajax并不是更好的Ajax,是吗?但是有一些方法可以让你的Ajax蛋糕吃掉它.第一个目标不是删除所有Ajax请求,而是删除不必要的请求.或者,如果你想要积极进取,也要减少必要的要求.例如,如果您的脚本每分钟执行相同的Ajax请求,请查看每两分钟是否不合理.如果是这样,那么你只需要减少一半的请求!
2. Select the Event on which AJAX request triggers wisely
您需要注意在何时何地发出AJAX请求.随着用户体验,数据管理和数据管理的增加,事件和用户动作的重新排序减少了AJAX请求.应密切分析流量.例如,假设您有一个页面,用户可以在该页面中动态地重新排序项目列表.另外,您可能会对订单中的每次更改执行Ajax请求(可能是请求会将新订单保存在数据库中).但是,用户可能会进行多次更改,从而产生多个请求,而事实是它只是最终的订单才真正重要.一个简单的解决方案是添加一个提交按钮供用户单击并在那时执行单个Ajax请求.
3. Use GET Requests When Appropriate
说到GET请求类型,您还应该知道GET请求往往比POST更好.公平地说,您使用的决定应主要基于请求的细节:
> GET请求旨在从服务器检索信息.
> POST请求旨在引起服务器反应,例如更新数据库记录,发送电子邮件等.
但是GET请求通常更快,如果有任何问题是最合适的话,那么过度使用GET是错误的.
4. Reduce the Amount of Data Transmitted
Ajax为网页带来的一个好处是,它们可以最大限度地减少需要在客户端和服务器之间来回传输的数据量.这只是因为完整的网页 – HTML,CSS,JavaScript和各种媒体 – 不需要由浏览器下载并重新绘制,只是为了确认用户名是否可用或者获取最新的股票报价.但是可以编写Ajax请求本身来发送更多或更少的数据.
对于初学者,您可以限制服务器端资源将实际数据传输回JavaScript.接下来,您应该选择最佳数据格式:
>纯文本
> JavaScript对象表示法(JSON)
>可扩展标记语言(XML)
与GET和POST一样,在选择数据格式时还有其他因素,但要注意纯文本通常会传输最少的数据,而XML可能很冗长.当然,JSON和XML能够表示比纯文本更复杂的数据,但不要将纯文本作为选项.
在更高级别,您可以在返回之前压缩服务器上的数据.现代浏览器可以很好地处理GZip数据,尽管GZip需要额外处理并在两端解压缩数据.传输GZip数据是一个更先进的概念,但应该在您的雷达上.
5. Use Caching for recurring data
利用浏览器缓存.这仅适用于Ajax用于请求信息的情况,而不适用于用于向服务器发送数据的情况.
缓存的要点是:浏览器将存储站点资源的本地副本,以便在后续请求(在特定时间范围内)不需要重新下载它们.浏览器尝试缓存资源也适用于通过GET方法发出的Ajax请求(这可能会在调试过程中引起麻烦).因此,如果您的GET请求是可缓存的,那么您将提高Ajax的性能.
但在使用缓存和处理可用资源的阈值时要非常谨慎.
另请阅读以下内容:
> Making Ajax Elegantly Fast
> Faster AJAX Web Services through multiple subdomain calls(此链接中提供的信息基于.NET,但可以使用相同的概念)
> Are WebSockets faster than AJAX? …with latency in mind?(与问题无关.只是在您的申请中尽可能考虑作为另一种选择)
我知道这是非常基本和普遍的信息,但希望这在某种程度上有所帮助……
内容总结
以上是互联网集市为您收集整理的javascript – 具有大量AJAX调用性能的网页全部内容,希望文章能够帮你解决javascript – 具有大量AJAX调用性能的网页所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。