Я использую API (давайте представим его facebook) для сбора данных между двумя указанными датами. Из-за ограничений API (как и большинства) я могу получать только очень много за раз, и поэтому мне приходится перелистывать результаты.
Вот мой вопрос / вопрос, хотя .. Лучше ли
- получите меньше результатов и сделайте больше звонков на API
- получить больше результатов назад и меньше звонков на API
Я использую 4 ГБ экземпляр облачного сервера ..
Данные, которые я просматриваю, представлены в формате XML и содержат около 20 тыс. Записей. Каждая запись содержит, вероятно, еще 20 тегов внутри. После полного извлечения данных размер составляет около 10 МБ. Моя проблема в том, что * , когда мой сервер работает с API, собирая эту информацию, процессор и память резко возрастают почти до 100%. Я пытался получить 500 за раз, 1000 за один раз, 5000 за один раз ... это то, где мне нужно собрать 20 за один раз ... или есть что-то еще, на что я должен смотреть?
Я не уверен, что еще предоставить, если есть что-то, что я могу предоставить, просто дайте мне знать
Обновления на основе ответов
- У меня хост с Storm on Demand, который отлично работает для нас и, кажется, отличное оборудование - https://www.stormondemand.com/cloud-server/
- Я использую HPricot для анализа XML (который, возможно, можно оптимизировать, я здесь не эксперт)
- Мне нужны все данные, этот сервис не предлагает экспорт, только API.
РЕДАКТИРОВАТЬ [чтобы помочь людям споткнуться об этом позже]
Я переключился с Hpricot на Nokogiri, НАМНОГО быстрее.
Кроме того, я строил XML-файл в памяти, по-видимому, это было чрезвычайно интенсивно и занимало очень много времени. Я сократил эту операцию с 10 минут до чуть более 1 минуты, исправив эти две вещи.