javascript - Ajax 请求/响应 : how to make them lightning fast?

标签 javascript ajax json performance

我发现一个网站的功能与 Google Suggest 非常相似。当您在搜索框中输入 2 个字符时(例如,如果您正在搜索“canon”产品,则输入“ca”),它会发出 4 个 Ajax 请求。每个请求似乎都在不到 125 毫秒的时间内完成。我偶然观察到 Google Suggest 需要 500 毫秒或更长时间。

无论哪种情况,这两个站点都很快。 为了获得超快的请求/响应,应该遵循哪些一般概念/策略?谢谢。

编辑 1:顺便说一下,我计划为电子商务站点搜索实现自动完成功能,它 1.) 根据输入的内容提供搜索建议,以及 2.) 潜在产品匹配列表到目前为止输入了什么。我正在尝试类似于 SLI Systems 搜索的东西(例如参见 http://www.bedbathstore.com/)。

最佳答案

这是一个有点像“一根绳子有多长”的问题,所以我将其作为社区维基答案——每个人都可以随意参与。

我想说的是确保:

  1. 您查询的服务器/服务器场/云根据您施加的负载正确调整大小和/或可以根据该负载调整自身大小
  2. 服务器/服务器场/云连接到一个良好的快速网络主干
  3. 您在服务器端查询的数据结构(数据库表或您拥有的)经过调整以尽快响应这些精确请求
  4. 您没有发出不必要的请求(HTTP 请求的设置成本可能很高;您希望避免在一个请求发出时发出四个请求);您可能还想加入一些滞后管理(在人们打字时延迟请求,仅在他们停止后几秒钟发送请求,并在他们再次开始时重置超时)
  5. 您通过线路发送的信息尽可能少,可以合理地用于完成工作
  6. 您的服务器配置为重复使用连接 (HTTP 1.1) 而不是重新建立连接(大多数情况下这是默认设置)
  7. 您正在使用正确类型的服务器;如果服务器有大量的保持事件请求,则需要将其设计为优雅地处理这些请求(例如,NodeJS 就是为此而设计的;Apache 不是,特别是,尽管它当然是一个非常 有能力的服务器)
  8. 您可以缓存常见查询的结果,以避免不必要地访问底层数据存储

关于javascript - Ajax 请求/响应 : how to make them lightning fast?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403690/

相关文章:

python - 如何解析txt中保存的suds对象?

json - 如何将图像添加到服务器上现有的图像数组中? Xcode

javascript - 编写这个 JS reduce() 代码的更好方法?

javascript - Jquery 脚本在页面刷新时不起作用

Javascript结束ajax-loader.gif

javascript - 使用 AJAX POST 从 javascript 到具有强参数的 Rails 4 Controller

python - Django ajax上传图片

javascript - 如何在JavaScript中动态创建静态方法?

javascript - 为什么我的 PHP AJAX onclick 函数并不总是触发?

javascript - 使用 Angularjs 发布从 UI 推送的数据数组