TiA

Рейтинг
116
Регистрация
12.06.2009
Jaf4:
а по-моему тема неактуальна

Тема действительно не актуальна. Я уже молчу о том, что она не в том разделе. По коду на предыдущей страничке отписались.

Medrik:
Можете подсказать, что именно нужно сделать, чтобы подключить эти платёжные системы?

Понятия не имею. Вы бы потрудились описать для начала что за CMS (diafan?) и какие такие "украинские платежные системы" подключаем.

Если говорить в общем, то вам нужно искать программиста.

gexogensib:
Все тоже самое:
[Wed Jun 15 04:16:40 2011] [error] server reached MaxClients setting, consider raising the MaxClients setting

Здесь вам Апач советует увеличить значение MaxClients так как не хватакт процессов для обработки запросов.

gexogensib:
MaxClients = (MemFree + Inactive) / 65 мб = 18

2030/65 = 31. Это максимальное значение. На практике можете выставить 24-28.

Не забывайте также поотключать ненужные модули.

gexogensib:
Еще уменьшать?

Можно попробовать. А от чего сервер упал? Нехватка памяти?

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

gexogensib:
Server MPM: Prefork

значит все изменения нужно вносить сюда:

gexogensib:
<IfModule mpm_prefork_module>
StartServers 1
MinSpareServers 1
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 500
</IfModule>

В настройках все в общем-то хорошо, если бы не MaxClients. Там стоит значение 150. Это очень много. Давайте посчитаем насколько.

На средней загаженности сервере один процесс апача может занимать до 25-50 Мб. У вас всего 2 Гб памяти. Это примерно 40-80 процессов Апача. Если их будет создаваться больше - система уйдет в своп. У вас так это и происходит.

Попробуйте уменьшить MaxClients до 50 хотя бы. Более точное значение можно подобрать так:

Вводим top, смотрим сколько занимают в среднем процессы Apache (столбик RES) и рассчитываем сколько таких процессов поместится в ОЗУ с учетом, что там еще MySQL работает и другие процессы.

Еще одним шагом является отключение ненужных модулей Apache

Mister_Black:
у меня vps 3ггц, 2 гига озу, онлайн на сайте от 150-200 человек, средняя посещалка в день 13к уников.

Немного. У меня Joomla 1.5 с такой посещалкой на жалкой VPS-ке с 200Мб ОЗУ работает. Большую часть времени из тех 200 свободно 60-70 Мб.

В вашем случае прежде всего нужно установить и настроить nginx. Также нужно настроить апач, чтобы не валил сервер. Потом можно заняться тюнингом mysql

Проблема скорей-всего во внутренних дублях и в очень похожем контенте страниц.

Всего: 800