Как заставить 64-битный Apache вести себя как 32-битный?
Мой веб-хостинг предоставляет только 64-битную ОС, но 64-битные веб-серверы Apache занимают слишком много памяти и иногда приводят к перегрузке при не слишком большой внешней нагрузке.
Есть ли способ настроить Apache, чтобы использовать меньше памяти, или вы предлагаете какую-либо другую конфигурацию?
Мой сервер имеет 256 МБ оперативной памяти и работает с одним WordPress и двумя другими поддоменами со статическими страницами.
Текущие конфигурации процесса Apache, показанные Webmin:
Мин процессов: 10
Макс процессов: 15
Количество начальных процессов запуска: 8
Максимальное количество одновременных соединений на процесс: 4000
Обновление:- Сейчас я вижу 11 процессов Apache, каждый из которых занимает около 360 МБ ОЗУ в моей системе 256 МБ!
2 ответа
Если вы действительно думаете, что это что-то изменит, просто установите 32-битный двоичный файл Apache и модули и запустите его. Это единственный способ "заставить 64-битный Apache вести себя как 32-битный". Это не просто, и кошмар обслуживания, хотя - я не рекомендовал бы это.
Существует множество способов заставить Apache использовать меньше памяти, но вы получаете прирост прироста, и если у вас есть только 256 МБ ОЗУ для игры, вам понадобятся большие изменения - и nginx это тот, который я бы порекомендовал. Он не порождает десятки рабочих, и каждый из 2-4, которые он использует, занимает всего несколько МБ каждый (тот, что передо мной сейчас, работает с дюжиной vhosts, занимает 2448kB резидента).
Это не имеет ничего общего с 32-битным против 64-битного.
Как вы думаете, почему 15 процессов по 60 МБ каждый (только предположение) будут использовать менее 900 МБ памяти при работе на 32-битной архитектуре?
Я бы предпочел запустить некоторые цифры.
- Сколько памяти занимает каждый процесс
- Сколько процессов вы хотите / нужно запустить
- Является ли запуск fcgi с nginx опцией (не то, чтобы apache был плохим, его проще вычислить)?