Найти - Пользователи
Полная версия: WSGI, где многопоточность???
Начало » Web » WSGI, где многопоточность???
1 2 3 4
o7412369815963
Daevaorn
o7412369815963
получается все фреймворки которые подключены через mod_wsgi: Django, TurboGears, Pylons и др. - работают в однопоточном режиме.
Нет.

Вы так и не привели настройки mpm апача и не написали как вы тестировали.

Пока очевидно, что вы не понимаете что вы хотете сделать и как apache+mod_wsgi работают в принципе.
вот кусок конфига:
ServerLimit 16
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
оно?

тестировал так:
с 3-х браузеров одновременно подключался к серверу. резуьтат получал поочередно каждые 5 сек.
например: в первом браузере 15 - 20, второй: 20 - 25, 3-ий: 25 - 30,
(цифры показывают время)
Lexander
o7412369815963
вот кусок конфига:
Это в какой секции?

Попробуй еще вместо
ServerName localhost
написать
ServerName main

Если ты описываешь WSGIDaemonProcess внутри виртуального хоста, то имя должно совпадать.
o7412369815963
Lexander
o7412369815963
вот кусок конфига:
Это в какой секции?

Попробуй еще вместо
ServerName localhost
написать
ServerName main

Если ты описываешь WSGIDaemonProcess внутри виртуального хоста, то имя должно совпадать.
секция <IfModule mpm_worker_module>
изменил имя на main

пока все так же
alexx11
Весь день не заходил на форум, ща глянул - жесть! Давайo7412369815963 , я за тебя тоже буду болеть, завтра попробую подключится.
Только непонятно у всех остальных нормально? У меня в чистом WSGI пример выше с обычным sleep отдаёт ответы одновременно.
o7412369815963
вот я касяк.
оказывается дело в браузере, если открывать один url в пределах одного браузера то он сам делает загрузку по очереди.
Александр Кошелев
o7412369815963
с 3-х браузеров одновременно подключался к серверу. резуьтат получал поочередно каждые 5 сек.
например: в первом браузере 15 - 20, второй: 20 - 25, 3-ий: 25 - 30,
Это не методика. Сделайте тест правильно – автоматизированный.
o7412369815963
сейчас выяснил что кол-во процессов которые указываются в “<IfModule mpm_worker_module> StartServers 1”
не влияют на на “WSGIDaemonProcess main user=www-data group=www-data processes=2 threads=5”
они работают параллельно, т.е. если StartServers = 3, и processes = 5, то всего будет 3+5+ (2 родительских) = 10 (или около того)
o7412369815963
> (2 родительских)
сейчас пересчитал, StartServers уже учитывает кол-во родительских.
o7412369815963
Daevaorn
o7412369815963
с 3-х браузеров одновременно подключался к серверу. резуьтат получал поочередно каждые 5 сек.
например: в первом браузере 15 - 20, второй: 20 - 25, 3-ий: 25 - 30,
Это не методика. Сделайте тест правильно – автоматизированный.
вот автоматизированный. processes=5 threads=5 = 25 потоков
$ ab -n 25 -c 25 http://localhost/
Concurrency Level: 25
Time taken for tests: 5.010 seconds
Complete requests: 25
Time per request: 5009.800 [ms] (mean)
Time per request: 200.392 [ms] (mean, across all concurrent requests)
min mean[+/-sd] median max
Total: 5004 5007 1.9 5009 5009

$ ab -n 50 -c 50 http://localhost/
Concurrency Level: 50
Time taken for tests: 10.018 seconds
Complete requests: 50
Time per request: 10017.541 [ms] (mean)
Time per request: 200.351 [ms] (mean, across all concurrent requests)
min mean[+/-sd] median max
Total: 5005 7511 2526.9 10008 10016
в первом тесте 25 запросов выполнились одновременно за 5 сек.
во 2-ом 50 запросов на 25 потоков, первые выполнились за 5 сек, другие висели 10 сек (с ожиданием первых), сумарное время 10сек.

вообщем все робит, так как я и предпологал. фича браузера чуть не поломала моё представление.
alexx11
o7412369815963 О! респект и уважуха что разобрался, а теперь ответь на вопрос пожалуйста, если не sleep а поиск из массива вставить, ну как из предыдущего примера, то второй клиент зависнет или нет?
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