Apache недостаточно памяти - PullRequest
0 голосов
/ 25 ноября 2008

mod_python (?) Съедает много оперативной памяти (около 9 МБ на рабочий процесс). Если я открою несколько страниц TRAC одновременно, у многих из них будет ошибка из-за отсутствия оперативной памяти (виртуальное ограничение 64 МБ). если я ограничу рабочие потоки до 3, я могу получить все в порядке. Проблема в том, что если никто не обращается к TRAC, у меня МНОГО ОЗУ, которое не используется.

Есть ли способ, которым я могу либо

  1. Ограничить количество рабочих процессов, которые могут использовать Python?
  2. Ограничить количество рабочих процессов в моем пути trac?
  3. Пусть Apache порождает столько рабочих процессов или потоков, сколько ему нужно, но он появляется только тогда, когда количество X или оперативная память свободны (или когда Apache использует количество X или ниже)
  4. Что-то еще?

1 Ответ

1 голос
/ 22 апреля 2009

Вы можете настроить второй mod_python apache с минимальными рабочими потоками для запуска только на локальном интерфейсе и с другим портом, например http://127.0.0.1:9000/. Затем для вашего публичного экземпляра apache на порту 80 отключите mod_python и настройте для оптимального использования оперативной памяти. Прокси всех запросов trac и других приложений на python к локальному экземпляру mod_python.

Если публичный apache оставлен только для обслуживания статического контента, подумайте о его замене чем-то более легким, например nginx или lighttpd .

...