4

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

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

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

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

4

2 回答 2

6

我会先看看这 8 秒的延迟有多少与:

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

    • 数据库索引

    • 缓存

    • 更快的 to_json 库

一些优秀的资源是关于 Rails 可扩展性的 NewRelic 播客http://railslab.newrelic.com/2009/02/09/episode-7-fragment-caching

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

于 2010-03-26T10:25:20.850 回答
3

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

于 2010-03-26T09:47:44.360 回答