Найти - Пользователи
Полная версия: Response, как понимать?
Начало » Web » Response, как понимать?
1 2 3
Alex2ndr
alexx11
А как программы не питоне запускать через mod_python или mod_wsgi?
s/не/на/ ? :)
Программы на питоне запускать из-под apache через mod_wsgi. Он их запускает в отдельных процессах. Аналогично тому, что вы открываете 2 и больше интерпретаторов питона.
alexx11
Alex2ndr
Он их запускает в отдельных процессах.
Типа ‘python hello.py’ Для каждого клиента? (обращения на сервер имею ввиду?) Может это вариант как избавится от локов, но я боюсь у меня памяти для такого количества питонов не найдётся :rolleyes:
o7412369815963
alexx11
Alex2ndr
Он их запускает в отдельных процессах.
Типа ‘python hello.py’ Для каждого клиента? (обращения на сервер имею ввиду?) Может это вариант как избавится от локов, но я боюсь у меня памяти для такого количества питонов не найдётся :rolleyes:
типа того, приложения друг на друга не влияют.
на счет памяти - в веб-серверах устанавливается ограничение на кол-во запускаемых приложений.
Alex2ndr
Вы попробуйте. Все пользуются и не жалуются. Не все так страшно. Гига хватит наверно на 100 одновременно подключенных(т е по ~10 метров на итерпретатор). У вас 100 запросов с секунду? такая сильная нагрузка? Тогда надо думать о серьезных схемах типа фронтенд-бэкенд. Только я сомневаюсь что самонаписанный сервер справится с нагрузкой лучше.
alexx11
Alex2ndr
Вы попробуйте. Все пользуются и не жалуются. Не все так страшно. Гига хватит наверно на 100 одновременно подключенных(т е по ~10 метров на итерпретатор).
А оно мне нужно?
o7412369815963
alexx11
Alex2ndr
Он их запускает в отдельных процессах.
Типа ‘python hello.py’ Для каждого клиента? (обращения на сервер имею ввиду?) Может это вариант как избавится от локов, но я боюсь у меня памяти для такого количества питонов не найдётся roll
типа того, приложения друг на друга не влияют.
Кстати я чё-т сомневаюсь что mod_wsgi будет питонов плодить.
Alex2ndr
alexx11
А оно мне нужно?
Если нужна параллельная работа нескольких пользователей, то скорее всего да. Вы думаете такую схему придумали от нечего делать? И дело даже не в тех вопросах, с которых вы начали тему. Просто так удобнее работать со многими пользователями - каждому пользователю свой поток выполнения, своя страница памяти, открытые файлы и тд(иными словами свой процесс).

alexx11
Кстати я чё-т сомневаюсь что mod_wsgi будет питонов плодить.
Вы что-то путаете - mod_wsgi позволяет апачу работать с питоном(т е запускать питоновские скрипты) - не более. А питонов плодит сам апач, обращаясь к ним через wsgi.

Если вам так жалко памяти - смотрите на nginx + mod_wsgi . Только имхо там с настройкой сборкой посложнее.

Да и вообще - все определяется задачей. Если будет 1 запрос в минуту, то никаких многопроцессных схем не надо.
alexx11
Alex2ndr
А питонов плодит сам апач, обращаясь к ним через wsgi
Просто гипноз на меня не действует, я ж написал что сомневаюсь, скрины в студию, или пруфлинк какой-нибудь. Какая разница тогда между mod_python и mod_wsgi, если они оба тупо каждый раз питон грузят.
Alex2ndr
alexx11
А оно мне нужно?
Если нужна параллельная работа нескольких пользователей, то скорее всего да. Вы думаете такую схему придумали от нечего делать?
Схему apache+mod_wsgi скорей всего придумали те, не придумали а используют, кому надо сервер общего назначения, а если на сервере (железо имеется ввиду) работает только одно приложение, которое обходится wsgi и питоном, то apache и mod_wsgi нужны как рыбе зонтик. Я конечно могу вскопать огород соседям, а оно мне нужно?
o7412369815963
alexx11
Какая разница тогда между mod_python и mod_wsgi, если они оба тупо каждый раз питон грузят.
mod_wsgi то же самое тока новее, с поддержкой, от тех же авторов, а mod_python “мертвый”, заброшенный проект, с не закрытыми багами.
вот и все.
alexx11
o7412369815963
alexx11
Какая разница тогда между mod_python и mod_wsgi, если они оба тупо каждый раз питон грузят.
mod_wsgi то же самое тока новее, с поддержкой, от тех же авторов, а mod_python “мертвый”, заброшенный проект, с не закрытыми багами.
вот и все.
Вот тут пишут http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess что mod_wsgi умеет рапоряжатся отведённым ему лимитом процессов, но всё равно он не плодит питонов на каждый запрос клиента, а наверное заставляет питона открыть поток. Хотя это уже отчасти решает проблему с блоками (для большинства клиентов, которые не попали на тот злополучный процесс), но ради этого ставить mod… Для себя я вижу в другом решение этого вопроса.
alexx11
o7412369815963 написал:

нужно делать так что-б контент моментально отдавался.
:)
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>
main.wsgi
# 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]
в итоге 2-й запрос от клиента ожидает пока отработает 1-й, значит идет запуск в разные потоки одного приложения.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB