2015-08-10 5 views
4

Я разработал приложение ocpu для работы на сервере EC2, но особенно при запуске на сервере EC2 приложение (даже у одного пользователя, меня) очень медленно и наталкивается от t2.micro к c3.large ничего не меняет.Параметры для ускорения работы opencpu

Чтобы увидеть, где узкое место, я ввел таймеры в моем коде, результаты следующие:

  • Функция R сама длится 846ms (400ms локально)
  • Звонок в эту функцию через ocpu. call() длится 2558 мс
  • с получением результата, общее количество ударов до 4790 мс, что означает, что извлечение (большого) geojson занимает более 2 секунд, в то время как получение того же geojson через API с помощью curl получает его в 1.3s
  • Если я уменьшу вывод до нуля, это sti ll принимает 1s для извлечения ничего.

На моем персональном компьютере общее время составляет менее 1500 мс!

Заключение: сама часть R не намного медленнее, но все остальное!

Есть ли у них какие-либо опции для opencpu, чтобы быстрее обрабатывать данные на сервере?

ответ

0

Прошивка вокруг довольно много написания вопроса Я действительно нашел параметр для предварительной загрузки пакетов, см. preload в руководстве по серверу. Я поставил все, что я там использую, и все это сейчас до 2896 мс. Лучше 2s!

Но все же требуется 1,5 с для запуска и «возврата» для функции R, которая занимает 0,869 секунд на сервере, а обычное квитирование - около 200 мс.

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