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

Сколько оперативной памяти VPS мне потребуется для работы Wordpress, Apache, SVN и MySQL?

Есть ли у кого-нибудь приблизительная цифра того, сколько VPS ram (без burstable) мне нужно, чтобы иметь apache с wordpress и subversion, а также экземпляр MySQL?

Apache будет размещать пару сайтов и SSL. MySQL будет иметь только базу данных Wordpress. У этих сайтов низкий трафик, менее 1 тыс. Посещений в день.

Имейте в виду, что каждый воркер apache будет потреблять около 20-25 МБ, поэтому, если ваши 1k попаданий будут равномерно распределены по времени в 8 часов в день, вы можете подумать о том, чтобы обслуживать только 0,03 запроса в секунду.

Предполагая, что весь ваш трафик сконцентрирован всего за 1 час в день (это, конечно, не так), вам придется обслуживать около 0,28 запроса в секунду.

Другая проблема заключается в том, сколько памяти у вас есть в БД, однако это легко узнать, и это довольно фиксированная стоимость.

В худшем случае вам придется перенести всю БД (о боже, в этом случае рефакторинг SQL! :)) .. так что удвойте предыдущее число ..

Короткий ответ: (IMHO) 128MB хватит, с избытком. Ваш сервер будет простаивать, а память будет оставаться свободной в течение длительного времени, учитывая трафик, который вы себе представляете.

У меня есть 20 доменов на VPS с 256 МБ за 3 года, все в порядке ... и общее количество просмотров составляет около 1500-2000 ...

Хорошо, память сейчас дешевая, но, ребята ... вы знаете, сколько стоит один гигабайт?

PS: Я говорю о системе Linux, конечно, а не об ОС, потребляющей 4 ГБ только для графического интерфейса :)

Для описываемого вами использования с низким трафиком вам подойдет небольшой тарифный план (256–384 МБ). Когда Apache и MySQL установлены, их конфигурации по умолчанию предполагают, что они работают с большим объемом доступной оперативной памяти, что может вызвать проблемы. Используйте следующее как хорошую отправную точку и при необходимости отрегулируйте:

В вашем файле конфигурации Apache 2 (обычно находится в /etc/apache2/apache2.conf или /etc/apache2/httpd.conf):

StartServers 1
MinSpareServers 3
MaxSpareServers 6
ServerLimit 24
MaxClients 24
MaxRequestsPerChild 3000

В вашем файле конфигурации MySQL (обычно находится в /etc/mysql/my.cnf):

key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K

Кроме того, если вы не используете таблицы InnoDB, вам следует отключить поддержку InnoDB, добавив следующую строку:

skip-innodb

У меня были проблемы с моя на 512 МБ ОЗУ, пока я не переключился на FastCGI. Это значительно улучшило производительность. До тех пор у меня было 30 МБ свободного места (не считая кеша), а в итоге осталось более 100 МБ.

Конечно, ваш пробег может варьироваться в зависимости от посещаемости вашего сайта. И как только трафик начнет расти, вы можете переключиться на nginx.

Чтобы подкупить себя, я увеличил объем до 1 ГБ.

Кстати, меня устроили prgmr.com, и я еще не видел, чтобы кто-нибудь трогал их цены.

Я запускаю аналогичную настройку на VPS с 256 МБ ОЗУ, но использую lighttpd вместо Apache. Сначала я попробовал Apache, но этого было слишком много для VPS на 256 МБ. Если вы хотите использовать Apache, я бы сказал, что вы можете обойтись 512 МБ ОЗУ.

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

Вам должно быть хорошо с 1 ГБ, но если можете, выберите 2 ГБ, это важный шаг к повышению производительности для большинства современных ОС.

Я использую nginx + php-fastcgi вместо Apache, но с очень похожей загрузкой приложения. Я использую svn + ssh для доступа к подрывной деятельности, поэтому процесс svnserve не запущен, кроме случаев, когда я обращаюсь к репозиторию. Все это работает на Ubuntu 8 LTS.

Прямо сейчас я использую 174 МБ из 256 МБ, и веб-сайт довольно отзывчивый (среднее время отклика 500 мс для представлений Wordpress)

             total       used       free     shared    buffers     cached
Mem:           256        252          3          0         22         56
-/+ buffers/cache:        174         81
Swap:          511         12        499

Я бы рекомендовал взглянуть на легкий интерфейсный веб-сервер, такой как nginx или lighttpd, вместо Apache + mod_php. Даже проксирование Apache + mod_fastcgi на php-fastcgi потребует меньше памяти.

Если вы все-таки пойдете по маршруту Apache, моя интуиция подсказывает, что 512 МБ, вероятно, помогут. 1 или 2 ГБ памяти кажутся значительным излишеством, особенно с учетом того, как большинство провайдеров VPS увеличивают свои расходы, когда вы переходите к более крупным конфигурациям.

Некоторое время я боролся с этим.

Настройка Альберта сработала блестяще. Настройки mysql сделали ЯСную разницу, и теперь сайт отлично просматривается. http://laterboltz.com

В вашем файле конфигурации MySQL (обычно находится в /etc/mysql/my.cnf):

key_buffer = 16K max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K

Кроме того, если вы не используете таблицы InnoDB, вам следует отключить поддержку InnoDB, добавив следующую строку:

skip-innodb