Вопрос

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

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

<Ол>
  • Ограничить количество рабочих процессов, которые могут использовать Python?
  • Ограничить количество рабочих процессов в моем пути trac?
  • Пусть apache порождает столько рабочих процессов или потоков, сколько ему нужно, но запускает его только тогда, когда количество X или оперативная память свободны (или когда Apache использует количество X или меньше)
  • Что-то еще?
  • Это было полезно?

    Решение

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

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top