Назад | Перейти на главную страницу

Как заставить 64-битный Apache вести себя как 32-битный?

Мой веб-хостинг предоставляет только 64-разрядную ОС, но 64-разрядные веб-серверы Apache занимают слишком много памяти и иногда приводят к сбоям в работе при не слишком большой внешней нагрузке.

Есть ли способ настроить Apache на использование меньшего объема памяти или вы предлагаете другую конфигурацию?

На моем сервере 256 МБ ОЗУ, на нем работает один wordpress и два других поддомена со статическими страницами.

Текущие конфигурации процессов Apache, показанные Webmin, следующие: -

Мин. Процессов: 10

Максимальное количество процессов: 15

Количество процессов первоначального запуска: 8

Максимальное количество одновременных подключений на процесс: 4000

Обновление: - Сейчас я вижу 11 запущенных процессов Apache, каждый из которых занимает около 360 МБ ОЗУ в моей системе с 256 МБ!

Если вы действительно думаете, что это будет иметь значение, просто установите 32-битный двоичный файл Apache и модули и запустите их. Это единственный способ «заставить 64-битный Apache вести себя как 32-битный». Это не просто и кошмар обслуживания, хотя я бы не рекомендовал это.

Есть масса способов заставить Apache использовать меньше памяти, но вы получаете здесь постепенный прирост, и если у вас есть только 256 МБ ОЗУ для игры, вам понадобятся большие изменения - и я бы рекомендовал nginx. Он не порождает десятки рабочих, и каждый из 2-4, которые он использует, занимает всего несколько МБ (тот, что передо мной в данный момент, на котором запущено около дюжины vhosts, занимает резидентное значение 2448 КБ).

Это не имеет ничего общего с 32-битным против 64-битного.

Как вы думаете, почему 15 процессов по 60 МБ каждый (просто предположение) будут использовать менее 900 МБ памяти при работе на 32-битной архитектуре?

Я лучше наведу цифры.

  • Сколько памяти занимает каждый процесс
  • Сколько процессов вы хотите / нужно запустить
  • Можно ли запускать fcgi с nginx (не то чтобы apache плохой, просто его проще вычислить)?