如何减少通过REST API发送的数据的延迟

时间:2010-03-26 09:39:19

标签: python ruby-on-rails networking compression latency

我有一个应用程序,它从我们的其他服务器获取JSON格式的数据。我面临的问题是,在请求此信息时存在显着延迟。由于传递了大量数据(每个请求大约1000条记录,每条记录非常庞大),压缩有助于降低速度。如果是这样,你会推荐哪种压缩方案。

我在另一个thread上读到,他们的数据模式对于需要使用的压缩类型也很重要。数据模式是一致的,类似于以下

 :desc=>some_description
 :url=>some_url
 :content=>some_content
 :score=>some_score
 :more_attributes=>more_data

有人可以推荐一种解决方法来减少这种延迟。它们延迟约6-8秒。我正在使用Ruby on Rails来开发这个应用程序,提供数据的服务器大部分都使用Python。

2 个答案:

答案 0 :(得分:3)

我先看看这8s延迟有多少与:

有关
  1. 服务器端处理(生成数据需要多少) 有很多技术可以改善这段时间,包括:

    • 数据库索引

    • 缓存

    • 更快的to_json库

  2. 一些优秀的资源是关于Rails可伸缩性http://railslab.newrelic.com/2009/02/09/episode-7-fragment-caching

    的NewRelic播客
    1. 传输延迟(在服务器和客户端之间传输数据所花费的时间)

答案 1 :(得分:2)

gzip可能会显着减少文本数据的大小并优化加载速度。它也是YSlow推荐的。