У нас есть облачный сервер OpenCPU, установленный на сервере RedHat с Apache 2.0 и rApache, который выполняет некоторые достаточно ресурсоемкие вычисления и вычисления. Наше приложение работает довольно медленно (медленнее, чем на менее мощном ноутбуке) - мы думаем, что это из-за выделения памяти на сервере.
По этой причине мы распараллеливали приложение для сервера (используя пакет parallel
), но хотя обычно на сервере можно запустить много (более 20) параллельных заданий R, наше приложение может работать только около 18.
Чтобы понять, что происходит, у меня вопрос: когда я вызываю функцию R через веб-интерфейс OpenCPU, какой компонент сервера создает / порождает процессы R и управляет их распределением памяти? Это r_mod
или сам сервер Apache через другие модули? Влияет ли на это Prefork
MPM (на основании этого ответа )? Какую часть этой работы выполняет OpenCPU?
Я прочитал документацию OpenCPU, документацию по rApache, все вопросы о стековом потоке в OpenCPU, но мне не удалось понять, как конкретно управляются процессы R. Извините, если я что-то пропустил, я был бы очень признателен, если бы кто-нибудь мог указать мне на источник этой информации.