2010-03-26 2 views
3

У меня есть приложение, которое получает данные в формате JSON с одного из наших других серверов. Проблема, с которой я столкнулся, заключается в значительной задержке при запросе этой информации. Поскольку передано много данных (приблизительно 1000 записей на запрос, где каждая запись довольно огромная), есть способ, которым сжатие помогло бы уменьшить скорость. Если да, то какую схему сжатия вы бы порекомендовали.Как уменьшить задержку данных, отправленных через REST api

Я прочитал еще thread, что они имеют большое значение для данных типа сжатия, которые необходимо использовать. Структура данных последовательна и напоминает следующее

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

Может кто-то порекомендовать решение, как я мог бы уменьшить эту задержку. Задержка составляет около 6-8 секунд. Я использую Ruby on Rails для разработки этого приложения, а сервер, предоставляющий данные, использует Python по большей части.

ответ

2

Я бы сначала посмотреть на сколько это 8s задержки связана с:

обработки боковой
  1. Server (сколько потребовалось для данных, которые будут генерироваться) Есть много методов, чтобы улучшить это время, в том числе:

    • DB индексов

    • кэширование

    • быстрее to_json библиотека

Некоторые отличные ресурсы являются NewRelic подкастов на Rails масштабируемостью http://railslab.newrelic.com/2009/02/09/episode-7-fragment-caching

  1. Задержка передачи (сколько времени потребовалось для данных, которые должны быть отправлены между сервер и клиент)

2

gzip может значительно уменьшить размер текстовых данных и оптимизировать скорость загрузки. Также рекомендуется YSlow.

Смежные вопросы