Почему вылетает VPS на DigitalOcean?

Здравствуйте!
Крутится VPS (тот, который самый недорогой - на 512 мб) на DigitalOcean. Обслуживаются 2-3 сайта на WordPress. Малопосещаемых и не с особо огромным количеством плагинов.

Проблема в том, что периодически сервер внезапно зависает. Иногда можно подрубиться по SSH и перезапустить Apache (с мускулем), иногда помогает только ребут, а иной раз приходится перезапускать прямо из панели.

Как правило, при открытии любого расположенного на сервере сайта, выдаёт знаменитую ошибку
Error establishing a database connection


Я так думаю, проблема в недостатке памяти? Чем потюнить? Может быть, перейти на CentOS или другой серверный дистр?
Скорее всего, память замусоривается. Но хотелось бы это как-то исправить.

ОС:
root@kokareff:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.4 LTS
Release:        12.04
Codename:       precise


Память:
root@kokareff:/var/www# free -m
             total       used       free     shared    buffers     cached
Mem:           490        456         34          0         12        134
-/+ buffers/cache:        310        180
Swap:         5394          0       5394


MySQL:
root@kokareff:~# mysql --version
mysql  Ver 14.14 Distrib 5.5.35, for debian-linux-gnu (x86_64) using readline 6.                                                                                                 2


Apache/2.4.7
  • Вопрос задан
  • 5496 просмотров
Решения вопроса 1
pomeo
@pomeo
reboot server on out-of-memory condition

/etc/sysctl.conf

vm.panic_on_oom=1
kernel.panic=10

The vm.panic_on_oom=1 line enables panic on OOM, the kernel.panic=10 line tells the kernel to reboot ten seconds after panicking.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
VasiliyIsaichkin
@VasiliyIsaichkin
Web front/back-end (JS-full stack) app developer
Мало памяти? - Выкиньте apache на мороз, поставьте nginx и php-fpm.
Ubuntu - ok. Mysql лучше от Percona (www.percona.com/doc/percona-server/5.5/installatio...) (бинарно совместим с MySQL)
С самим DO проблем не было никогда.
Ответ написан
methodx
@methodx
DevOps Engineer
Apache2: отредактировать конфигурацию, ограничить MaxClients. В идеале или расположить его за Nginx или действительно использовать связку nginx+php-fpm. Apache2 - это не web-сервер, а сервер приложений в первую очередь, стоит это учитывать и грамотно использовать.

Mysql: используйте mysqltuner.pl для выявления узких мест в конфигурации, ограничивайте максимальное использование памяти, изменяя указанные скриптом переменные. Рассмотрите вариант использования Percona или MariaDB.

Для отслеживания потребления ресурсов пользуйтесь htop.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы