Django Deployment: вырезание издержек Apache

[] обозначает класс символов. Он не используется для группировки вещей, как в математике.

Вы можете использовать группу без захвата (?:) вместо []:

\w+/(?:NNP|NNG)\b

Если ваши строки всегда состоят из трехсимвольных троек, тогда нет необходимости в \b .

Вы можете добавить столько вариантов, сколько хотите:

\w+/(?:NNP|NNG|ABC|DEF|GHI)\b
9
задан Ty. 4 July 2009 в 12:47
поделиться

4 ответа

Если Вы хотите придерживаться Apache, нескольких предложений, примерно в порядке трудности:

  • используйте рабочего Apache MPM вместо предварительного ветвления. Реальная память, используемая на соединение клиента, будет ниже, но знать, что виртуальная память, выделенная для Apache на Linux, может казаться очень высокой, из-за 8 МБ, которые Linux выделяет для стопки каждого потока. Это на самом деле не имеет значения, если Ваш VPS не является глупым и виртуальная память ограничений, а не фактический RSS (размер резидентного набора) память. В этом случае можно изучить, как понизить размер стопки потока здесь (под ограниченным Памятью разделом VPS).
  • отредактируйте свой файл конфигурации Apache и уменьшите StartServers, MaxClients, MinSpareThreads и настройки MaxSpareThreads примерно в пропорции. Соответствующие уровни будут балансом между Вашим желаемым использованием памяти и числом параллельных клиентов, которым необходимо смочь служить.
  • переключитесь на mod_wsgi (в режиме демона) вместо mod_python.
8
ответ дан 4 December 2019 в 11:08
поделиться

Вы могли бы рассмотреть использование Порождения для развертывания.

3
ответ дан 4 December 2019 в 11:08
поделиться

Вы могли работать, Django на FastCGI. nginx мог затем управлять им непосредственно вместо того, чтобы пройти Apache.

2
ответ дан 4 December 2019 в 11:08
поделиться

Для справки, использование OP термина MPM бессмысленно. MPM в Apache не вариант, вы всегда используете MPM при использовании Apache. Выбор заключается в том, какой MPM вы используете. В UNIX два основных MPM или многопроцессорных модуля - это prefork и worker. В Windows всегда используется Winnt MPM. Подробности о различных MPM можно найти в документации Apache на веб-сайте Apache. Однако в контексте mod_wsgi вам может быть лучше прочитать:

http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading

Вкратце:

  • prefork MPM является многопроцессорным / однопоточный.
  • worker MPM является многопроцессорным / многопоточным.
  • winnt MPM в однопроцессном / многопоточном режиме.
6
ответ дан 4 December 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: