Нужен совет специалиста по VPS

12
Flector
На сайте с 09.09.2006
Offline
186
1250

достали временные проблемы с виртуальным хостингом, решил взять VPS.

пока тестировал все было хорошо - но стоило перенести домены на vps

начались постоянные проблемы с нехваткой памяти.

перенес только 4 сайта на vps, причем 2 из них новые сайты просто с одной заглушкой из стат. страницы.

но через ISPManager видно, что на vps апач постоянно съедает 30-34Мб. для каждого сайта.

и по фиг, что на двух сайтах по 1 стат. странице и никаких посетителей, а на других wordpress последней

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

установил nginx, никакой разницы не увидел. памяти постоянно не хватает (всего на vps 256мб), 4 сайта (апача) плюс 1 апач

самого vps плюс сопутствующие сервисы и памяти постоянно не хватает. внешне для посетителей это никак не выражается,

однако у меня с этим проблемы - время от времени перестают отсылаться письма, в консоли wp не грузятся виджеты, даже

перезагрузить vps через ispmanager и то памяти не хватает.

так вот вопрос - в такой нагрузке виноваты мои кривые руки или это нормальная ситуация, когда пустой сайт со стат. страницей

создает такую же нагрузку, как сайт на WP с плагинами и посещаемостью?

смешно видеть, как весь vps грузит проц только на 1-2%, а память съедает практически всю подчистую.

M
На сайте с 16.09.2009
Offline
278
#1

как вы определяете эти 30-34Mb для каждого сайта?

по mod_status что-ли оцениваете? (т.е. какие апачи над какими сайтами работают).

если сайты полностью статика - можно отдавать ее напрямую, вообще убрав

проксирование к апачу.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
M
На сайте с 16.09.2009
Offline
50
#2

Если апачи для каждого сайта запускаются разные то ничего удивительного нет - один апач ест порядка 15Мб памяти. в дефолтной конфигурации их запускается минимум 5 если не ошибаюсь.

Вот и помножьте 5*15*4 сайта=300МБ

Поправьте меня если ошибаюсь.

Нужно смотреть

а) для каждого сайта свой ли апач или как виртуальные хосты у одного?

если свой апач - переведите все под виртуальные хосты одного апача.

б) StartServers MinSpareServers параметры.

Уменьшите до 1-2 если на сайты нет нагрузки.

Администратор Linux/FreeBSD. Лечим вирусы на сайтах. Гарантия. (http://linuxsc.pro/virussearch)
kxk
На сайте с 30.01.2005
Offline
970
kxk
#3

Flector,Где берёте впс ?

Могу поставить лёгкий веб сервер не nginx за 80$, но переписывание rewrite правил будет стоить 15$ за 1 аналог .htaccess

Ваш DEVOPS
Flector
На сайте с 09.09.2006
Offline
186
#4

vps от зенона, по умолчанию на vps не установлен ни крон, ни nginx, так что в оптимальных настройках по умолчанию я глубоко сомневаюсь. а опыта самостоятельного администрирования у меня совершенно нет.

M
На сайте с 16.09.2009
Offline
278
#5
Flector:
vps от зенона, по умолчанию на vps не установлен ни крон, ни nginx, так что в оптимальных настройках по умолчанию я глубоко сомневаюсь. а опыта самостоятельного администрирования у меня совершенно нет.

у вас действительно запускается отдельный апач под каждый

сайт? сильно сомневаюсь.

на зеноне раньше были нормальные VPS на centos. софт там вполне стандартный,

апач обычный prefork. на все виртуальные хосты - одна общая пачка апачей :)

как уменьшить их потребности в памяти - вам сказали (директивы:

StartServers MinSpareServers MaxSpareServers).

какие конкретно значения стоит оставить - нужно смотреть,

обращайтесь - контакты ниже в подписи

Если сами хотите решить проблему - ключевой момент: как вы оценили

потребление памяти каждым сайтом?

Flector
На сайте с 09.09.2006
Offline
186
#6

спасибо за ответы, проблему удалось решить через MaxSpareServers = 3

правда не понял на что это повлияло, кроме как на количество процессов апача в памяти.

сайты открываются по-прежнему быстро и без задержек - так зачем держать в памяти лишнее количество апачей?

M
На сайте с 16.09.2009
Offline
278
#7
Flector:
сайты открываются по-прежнему быстро и без задержек - так зачем держать в памяти лишнее количество апачей?

подумайте

Что делать, когда дочерние процессы завершили обработку запросов? Есть два

варианта: 1) убить их 2) пусть поживут еще - в следующий раз мы передадим им

обработку новых HTTP-запросов, вместо того, чтобы плодить новые дочерние процессы.

How it Works:

http://httpd.apache.org/docs/2.2/mod/prefork.html

TA
На сайте с 12.06.2009
Offline
116
TiA
#8
Flector:
спасибо за ответы, проблему удалось решить через MaxSpareServers = 3

Это параметр, который указывает максимальное число запущенных процессов Apache. В идеале это число должно быть равно количеству ядер процессора, на котором работает VPS

nginx, кстати, тоже настроить надо. Я использую схему, где nginx непосредственно обслуживает запросы пользователей и отдает статику, а апач генерирует код. Также поставил акселератор APC и думаю о кешировании запросов к БД. Поскольку пока свободных ресурсов у меня очень много, то я дальше оптимизировать не стал.

Профессиональная верстка и разработка сайтов на WordPress (http://www.maultalk.com/topic139110s0.html)
M
На сайте с 16.09.2009
Offline
278
#9
TiA:
Это параметр, который указывает максимальное число запущенных процессов Apache. В идеале это число должно быть равно количеству ядер процессора, на котором работает VPS

Нет, не угадали :)

Причем второе предложение тоже, в общем-то - неверно.

TA
На сайте с 12.06.2009
Offline
116
TiA
#10
myhand:
Нет, не угадали

А зачем гадать? Читайте документацию:

The MaxSpareServers directive sets the desired maximum number of idle child server processes.

Если переводить дословно, то эта директива указывает максимальное число одновременных фоновых процессов, которые были порождены родительским и готовы обслуживать новые соединения.

Наибольшая производительность достигается когда один процесс работает на одном ядре процессора

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий