Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 29, 2017 20:58:51

treeloys
Зарегистрирован: 2017-06-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

медленный subprocess

короче решил написать кое-что на websocket+python
решил попробовать микросервисы, но не tcp/ip, а с помощью subprocess
Суть системы, чтобы в зависимости от команды клиента поднимать определенный сервис для обработки запроса, и потом ответ процесса возвращать клиенту. Синхронизация - на БД.

Но! Popen жрет просто адски, 60мс на вызов скрипта, когда как сокеты максимум 3-4мс.
Как люди обходят данную проблему? Или таки придется городить межпроцессорное общение на tcp-ip, с распределением нагрузки?

Я так понял время уходит на поднятие интерпретатора, может есть элегантный способ “подвесить” его, чтобы он сразу скрипт заглатывал, а не тратил время на собственную загрузку?

Отредактировано treeloys (Июнь 29, 2017 20:59:13)

Офлайн

#2 Июнь 30, 2017 05:29:48

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

медленный subprocess

treeloys
Как люди обходят данную проблему?
Люди вырезают гланды с другой стороны. Медленней и геморрней и придумать сложно. Посмотрите как работает любой микрофреймворк Flask там, Bottle.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Июнь 30, 2017 11:08:29

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

медленный subprocess

Пыховец детектед.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Июнь 30, 2017 11:08:46)

Онлайн

#4 Июль 1, 2017 13:44:47

treeloys
Зарегистрирован: 2017-06-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

медленный subprocess

PooH
микрофреймворк Flask
Посмотрел, изучил, не катит.
Rodegast
Пыховец детектед.
Что-то имеете против других ЯП?

Офлайн

#5 Июль 1, 2017 15:19:18

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

медленный subprocess

treeloys
Я так понял время уходит на поднятие интерпретатора, может есть элегантный способ “подвесить” его, чтобы он сразу скрипт заглатывал, а не тратил время на собственную загрузку?
ну концепцию воркеров и используют.
Можно по новомодному задействовать RabbitMQ куда посылать задачи: которые воркеры будут подхватывать.
Ну или посмтрите на то как работает gunicorn, uwsgi. У меня есть ощущение что он может вам подойти



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#6 Июль 3, 2017 05:12:51

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

медленный subprocess

treeloys
Посмотрел, изучил, не катит.
Почему? Вы же практически переизобрели CGI, разве что передачу данных сделали еще медленнее - через БД.

Вам правильно JOHN_16 подсказал - асинхронный фронт, можно просто nginx взять, к нему есть модули zeromq, rabbitmq и т.д. и очереди с воркерами. И передача данных, конечно, не через БД, а средствами очереди, или через что-нибудь навроде редиса.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version