Я пытался понять, почему мой сервер разработки Django работает в 6-10 раз быстрее, чем mod_wsgi (который должен быть быстрее). Я считаю, что он должен перезапускать процесс Django между запросами, хотя этого не должно быть, пока он не достигнет MaxRequestsPerChild в данном процессе (поправьте меня, если я ошибаюсь).
Пока что я пробовал: настроить демон (процессы = 1 / процессы = 2). Изменение StartServers в apache2.conf (на 1, затем обратно на 2 - на самом деле никакой разницы). Переключение в режим демона (это улучшило ситуацию в 10 раз - раньше apache был в 100 раз медленнее;)
Я запускаю его на виртуальной машине Ubuntu.
Файл Django Wsgi: http://pastebin.com/qe1UG1iJ
Моя конфигурация vhost: http://pastebin.com/bqASHhD0
Моя конфигурация apache: http://pastebin.com/TfMGGvWc
Я сбежал с ab -n 100 -c 5 http://192.168.62.128/
и ab -n 100 -c 5 http://192.168.62.128:8000/
ab
результаты для apache: http://pastebin.com/bu5YWbqJ
ab
результаты для сервера разработки: http://pastebin.com/MdX9V55e
Образец top
вывод во время тестирования devserver: http://pastebin.com/a7U0SL7B
Образец top
вывод во время тестирования apache: http://pastebin.com/21zqRHPF
В моем файле журнала apache много из них: http://pastebin.com/PVd5z9BB
Вы пробовали uWsgi? → http://projects.unbit.it/uwsgi/