LINUX.ORG.RU

Есть ли прогрес в полку серверных динамических языков?


0

1

Пару лет назад осваивал джангу, webpy, еще что-то с каким-то пошлым немецким названием. Все шло хорошо пока не понадобилось выпустить свое детище в реальный мир. Тут я вмиг осознал и был раздавлен темной стороной питона, что зовется GIL.

Пошерстив в гугле, выяснил, что проблему блокировок народ решает грубыми и перверсивными способами.

Некоторые с помощью mod_python (mod_php/ruby/..) выстраивают в памяти батарею из python-рантаймов. Каждый этот рантайм пользуется один раз, после чего mod_python смывает за собой и создает новую копию (ну или как-то так).

Некоторые с помошью fastsgi/uwsgi. Которые, по-сути дублируют первый вариант, только ответственность за батарею процессов теперь лежит не на веб-сервере. А веб сервер только балансирует запросы к этой батарее.

Хотел узнать, изменилось ли что-нибудь в лучшую сторону? Как нынче принято запускать, например, ту же джангу или джумлу на сервере?

★★★★★

Последнее исправление: makoven (всего исправлений: 1)

Тут я вмиг осознал и был раздавлен темной стороной питона, что зовется GIL

Как установил, что проблемы возникли из-за GIL?

anatoly
()
Ответ на: комментарий от I-Love-Microsoft

т.е. есть способы нивелирования влияния GIL до нуля?

вообще способы такие (упрощенно):
0) не использовать Thread для не IO-тасков
1) gevent, там где нужно обработать кучу небольших тасков
2) multiprocessing, для длинных задач
3) нативный код + биндинги, когда ни (1) ни (2) не хиляют

shty ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.