Форум сайта python.su
alexx11s/не/на/ ? :)
А как программы не питоне запускать через mod_python или mod_wsgi?
Офлайн
Alex2ndrТипа ‘python hello.py’ Для каждого клиента? (обращения на сервер имею ввиду?) Может это вариант как избавится от локов, но я боюсь у меня памяти для такого количества питонов не найдётся :rolleyes:
Он их запускает в отдельных процессах.
Офлайн
alexx11типа того, приложения друг на друга не влияют.Alex2ndrТипа ‘python hello.py’ Для каждого клиента? (обращения на сервер имею ввиду?) Может это вариант как избавится от локов, но я боюсь у меня памяти для такого количества питонов не найдётся :rolleyes:
Он их запускает в отдельных процессах.
Офлайн
Вы попробуйте. Все пользуются и не жалуются. Не все так страшно. Гига хватит наверно на 100 одновременно подключенных(т е по ~10 метров на итерпретатор). У вас 100 запросов с секунду? такая сильная нагрузка? Тогда надо думать о серьезных схемах типа фронтенд-бэкенд. Только я сомневаюсь что самонаписанный сервер справится с нагрузкой лучше.
Офлайн
Alex2ndrА оно мне нужно?
Вы попробуйте. Все пользуются и не жалуются. Не все так страшно. Гига хватит наверно на 100 одновременно подключенных(т е по ~10 метров на итерпретатор).
o7412369815963Кстати я чё-т сомневаюсь что mod_wsgi будет питонов плодить.alexx11типа того, приложения друг на друга не влияют.Alex2ndrТипа ‘python hello.py’ Для каждого клиента? (обращения на сервер имею ввиду?) Может это вариант как избавится от локов, но я боюсь у меня памяти для такого количества питонов не найдётся roll
Он их запускает в отдельных процессах.
Отредактировано (Июль 23, 2010 20:34:41)
Офлайн
alexx11Если нужна параллельная работа нескольких пользователей, то скорее всего да. Вы думаете такую схему придумали от нечего делать? И дело даже не в тех вопросах, с которых вы начали тему. Просто так удобнее работать со многими пользователями - каждому пользователю свой поток выполнения, своя страница памяти, открытые файлы и тд(иными словами свой процесс).
А оно мне нужно?
alexx11Вы что-то путаете - mod_wsgi позволяет апачу работать с питоном(т е запускать питоновские скрипты) - не более. А питонов плодит сам апач, обращаясь к ним через wsgi.
Кстати я чё-т сомневаюсь что mod_wsgi будет питонов плодить.
Отредактировано (Июль 23, 2010 21:53:17)
Офлайн
Alex2ndrПросто гипноз на меня не действует, я ж написал что сомневаюсь, скрины в студию, или пруфлинк какой-нибудь. Какая разница тогда между mod_python и mod_wsgi, если они оба тупо каждый раз питон грузят.
А питонов плодит сам апач, обращаясь к ним через wsgi
Alex2ndrСхему apache+mod_wsgi скорей всего придумали те, не придумали а используют, кому надо сервер общего назначения, а если на сервере (железо имеется ввиду) работает только одно приложение, которое обходится wsgi и питоном, то apache и mod_wsgi нужны как рыбе зонтик. Я конечно могу вскопать огород соседям, а оно мне нужно?alexx11Если нужна параллельная работа нескольких пользователей, то скорее всего да. Вы думаете такую схему придумали от нечего делать?
А оно мне нужно?
Офлайн
alexx11mod_wsgi то же самое тока новее, с поддержкой, от тех же авторов, а mod_python “мертвый”, заброшенный проект, с не закрытыми багами.
Какая разница тогда между mod_python и mod_wsgi, если они оба тупо каждый раз питон грузят.
Отредактировано (Июль 23, 2010 23:23:09)
Офлайн
o7412369815963Вот тут пишут http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess что mod_wsgi умеет рапоряжатся отведённым ему лимитом процессов, но всё равно он не плодит питонов на каждый запрос клиента, а наверное заставляет питона открыть поток. Хотя это уже отчасти решает проблему с блоками (для большинства клиентов, которые не попали на тот злополучный процесс), но ради этого ставить mod… Для себя я вижу в другом решение этого вопроса.alexx11mod_wsgi то же самое тока новее, с поддержкой, от тех же авторов, а mod_python “мертвый”, заброшенный проект, с не закрытыми багами.
Какая разница тогда между mod_python и mod_wsgi, если они оба тупо каждый раз питон грузят.
вот и все.
alexx11:)
o7412369815963 написал:
нужно делать так что-б контент моментально отдавался.
Офлайн
сейчас сделал тестовый пример:
Виртуалхост апача
<VirtualHost *:80>
ServerName localhost
WSGIDaemonProcess main user=www-data group=www-data processes=2 threads=1
WSGIScriptAlias / /var/www/main/main.wsgi
ErrorLog /var/log/apache2/main_error_log
CustomLog /var/log/apache2/main_log common
</VirtualHost>
# coding: utf-8
import time
def application(environ, start_response):
status = '200 OK'
output = str(time.time())
if -1 in xrange(100000000): pass
output += '<br/>' + str(time.time())
response_headers = [('Content-type', 'text/html; charset=utf-8'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Офлайн