Я разработал приложение ocpu для работы на сервере EC2, но, особенно при запуске на сервере EC2, приложение (даже с одним пользователем, мной) работает очень медленно, и переход от t2.micro
к c3.large
не меняет ни малейшей вещи. .
Чтобы увидеть узкое место, я ввел в свой код таймеры, и результаты следующие:
- Сама функция R длится 846 мс (400 мс локально)
- Вызов этой функции через ocpu.call() длится 2558 мс.
- с получением результата общее время увеличивается до 4790 мс, что означает, что извлечение (большого) геоджсона занимает более 2 с, а получение того же геоджсона через API с помощью curl получает его за 1,3 с.
- если я уменьшу вывод до нуля, для получения ничего все равно потребуется 1 с.
На моем персональном компьютере общее время составляет менее 1500 мс!
Вывод: сама часть R ненамного медленнее, а все остальное!
Есть ли варианты для opencpu, чтобы он быстрее обрабатывал данные на сервере?