Тема действительно не актуальна. Я уже молчу о том, что она не в том разделе. По коду на предыдущей страничке отписались.
Понятия не имею. Вы бы потрудились описать для начала что за CMS (diafan?) и какие такие "украинские платежные системы" подключаем.
Если говорить в общем, то вам нужно искать программиста.
Здесь вам Апач советует увеличить значение MaxClients так как не хватакт процессов для обработки запросов.
2030/65 = 31. Это максимальное значение. На практике можете выставить 24-28.
Не забывайте также поотключать ненужные модули.
Можно попробовать. А от чего сервер упал? Нехватка памяти?
V@der, понятно. Ситуация у вас предельно проста. Объясню.
Значение MaxClients по сути определяет сколько процессов апача может параллельно работать. Вы выставили 150. Много это или мало?
Давайте посчитаем. У вас 512 Мб ОЗУ. При средней криворукости настройки и скриптов один процесс апача может кушать 32-64 Мб ОЗУ (смотреть нужно по колонке RES вывода top). Это значит, что в вашей ОЗУ может одновременно работать от 8 до 16 таких процессов. Это без учета всяких там MySQL и прочих FTP. Если выставить больше процессов, то рано или позно они забьют всю оперативную память и сервер свалится в своп, что, собственно, и происходит.
У вас скорей-всего апач скомпилирован с модулем prefork. Следовательно, настраивать нужно соответствующий раздел. Вот такие примерно должны быть настройки:
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 4
MaxSpareServers 8
MaxClients 12
MaxRequestsPerChild 128
</IfModule>
V@der, а можете выложить вывод top? Скорей-всего всю память сжирает Apache из-за неправильной настройки параметра MaxClients
netwind, и так. Давайте еще раз. В чем у вас проблема?
Если сервер под DDoS, то запрашиваются обычно целые страницы. Здесь nginx работает как самый обычный прокси. Если он правильно настроен, то проблем с ним быть не должно. Все запросы страниц адресуются апачу. Статику обычно при DDoS не запрашивают.
Апач. Тут ситуация повеселей. Если хотите уменьшить нагрузку и его потребление памяти, то придется его настроить. Первым делом отключите все неиспользуемые модули (a2dismod ...). Это позволит понизить потребление памяти отдельным процессом. Также настройте таймауты и MaxClients. Правильная настройка MaxClients, к слову, позволит избежать падения сервера в своп и других негативных явлений.
Еще одним аспектом является оптимизация MySQL. В первую очередь нужно настроить объемы кешей (кеш индексов, кеш запросов и объем памяти под временные таблицы). Это позволит сильно снизить нагрузку на дисковую подсистему и повысить скорость работы. Также можно отключить innodb (если не пользуетесь).
Как-то так. По каждому пункту могу расписать что да как.
И так. Apache у вас работает с MPM Prefork
значит все изменения нужно вносить сюда:
В настройках все в общем-то хорошо, если бы не MaxClients. Там стоит значение 150. Это очень много. Давайте посчитаем насколько.
На средней загаженности сервере один процесс апача может занимать до 25-50 Мб. У вас всего 2 Гб памяти. Это примерно 40-80 процессов Апача. Если их будет создаваться больше - система уйдет в своп. У вас так это и происходит.
Попробуйте уменьшить MaxClients до 50 хотя бы. Более точное значение можно подобрать так:
Вводим top, смотрим сколько занимают в среднем процессы Apache (столбик RES) и рассчитываем сколько таких процессов поместится в ОЗУ с учетом, что там еще MySQL работает и другие процессы.
Еще одним шагом является отключение ненужных модулей Apache
Немного. У меня Joomla 1.5 с такой посещалкой на жалкой VPS-ке с 200Мб ОЗУ работает. Большую часть времени из тех 200 свободно 60-70 Мб.
В вашем случае прежде всего нужно установить и настроить nginx. Также нужно настроить апач, чтобы не валил сервер. Потом можно заняться тюнингом mysql
Проблема скорей-всего во внутренних дублях и в очень похожем контенте страниц.