Ajax请求/响应:如何使它们快速闪电?

Sta*_*bie 11 javascript ajax performance json

我遇到了一个与Google Suggest非常相似的网站.当您在搜索框中键入2个字符时(例如,如果您正在搜索"canon"产品,则为"ca"),它会产生4个Ajax请求.每个请求似乎都在不到125毫秒的时间内完成.我随便观察到Google Suggest需要500毫秒或更长时间.

在任何一种情况下,两个站点都很快.为了获得超快的请求/响应,应该遵循哪些一般概念/策略?谢谢.

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

T.J*_*der 9

这是一个"多长时间是一个字符串"的问题,所以我把它作为一个社区wiki的答案 - 每个人都可以随意加入它.

我要说的是确保:

  1. 您正在查询的服务器/服务器场/云的大小根据您投入的负载正确调整和/或可以根据该负载调整自身大小
  2. 服务器/服务器场/云连接到良好的快速网络主干
  3. 您正在查询服务器端(数据库表或您有什么)的数据结构被调整为尽快响应这些精确请求
  4. 你没有做出不必要的请求(HTTP请求的设置成本很高;你想避免在一个人做的时候解雇其中的四个); 您可能还想进行一些滞后管理(在人们输入时延迟请求,仅在停止后发送几秒钟,并在重新启动时重置该超时)
  5. 您可以通过线路发送尽可能少的信息,因为可以合理地用于完成工作
  6. 您的服务器配置为重新使用连接(HTTP 1.1)而不是重新建立它们(在大多数情况下这将是默认设置)
  7. 你正在使用正确的服务器; 如果一个服务器有大量的保持活动请求,它需要被设计为优雅地处理(NodeJS就是为此而设计的;作为一个例子,Apache不是,特别是,虽然它当然是一个非常强大的服务器)
  8. 您可以缓存常见查询的结果,以避免不必要地转到底层数据存储