Настройка mod_wsgi в режиме демона
Я запускаю приложение wsgi на apache mod_wsgi в режиме демона.
У меня эти строки в конфигурации
WSGIDaemonProcess app processes=2 threads=3 display-name=%{GROUP}
WSGIProcessGroup app
Как найти оптимальную комбинацию/настройку процессов и потоков?
ИЗМЕНИТЬ:
Эта ссылка [приведенная ниже в ответ] была весьма полезной:
https://serverfault.com/info/145617/apache-2-2-mpm-worker-more-threads-or-more-processes/146382#146382
Теперь, мой вопрос таков: если мой сервер дает неплохую производительность для моих нужд, я должен уменьшить количество потоков для повышения стабильности/надежности? Могу ли я даже установить его на 1?
Ответы
Ответ 1
Вы также можете получить дополнительную информацию о ServerFault. Например: https://serverfault.com/questions/145617/apache-2-2-mpm-worker-more-threads-or-more-processes
Это еще один хороший ресурс для темы: http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading#The_mod_wsgi_Daemon_Processes
который кратко описывает параметры - включая настройку threads = 1.
Я еще не сделал этого, но похоже, что это не имеет большого значения. Поддержка множества потоков, а также нескольких процессоров хорошо поддерживаются. Но для моего уровня опыта (и, вероятно, для вас) его стоит устранить потоки как дополнительный источник беспокойства - даже если он теоретически прочен.
Ответ 2
Лучше всего, наверное, попробовать разные оценки. Вы можете использовать команду apache benchmark, чтобы получить приблизительную оценку того, как выполняется ваша конфигурация. Большая часть настроек будет зависеть от того, как CPU/IO привязывает ваше веб-приложение. Производительность также будет зависеть от характеристик сервера, на котором вы размещаете и т.д.