Прежде всего, привет всем, так как это мой первый пост здесь. До сих пор все мои вопросы уже задавались и отвечались :) к сожалению, не в этот раз.
У меня есть VPS (Ubuntu 14.04 32bit, 2 Гб памяти), который является моей "песочницей". Я тестирую свое приложение PHP/MySQL и учусь использовать и управлять сервером Linux. Примерно неделю MYSQL работал довольно медленно. Это заняло несколько секунд для SELECT (без JOIN) в таблице ~ 2 миллиона записей.
Сегодня я нашел время, чтобы позаботиться об этом и найти проблему. Я прочитал несколько дискуссий по оптимизации MySQL. Через панель управления SolusVM я узнал, что сервер использует 100% памяти. Я попробовал top, чтобы проверить, какой процесс потребляет большую часть памяти, но это не до 100%. Самым крупным процессом был MySQL с около 33% памяти.
Я перезагрузил сервер и после первой перезагрузки он закрывает все соединения через ~ 2 минуты. После каждой перезагрузки через ~ 2 минуты я получаю:
- ошибка в Putty " Сервер неожиданно закрыл соединение по сетевому слову ".
- Любой домен, размещенный на этом сервере, возвращает « ошибка тайм-аута соединения »
- WinSCP пытается подключиться к серверу и не возвращает ошибку, запускается снова и снова, чтобы установить соединение
В файле системного журнала у меня нет информации о проблемах - просто информация о том, что таблицы MySQL нуждаются в обновлении.
За эти 2 минуты между входом в систему (через Putty) и закрытием соединения сервером я попытался остановить некоторые службы, такие как mysql, cron, postfix, apache и proftpd. После каждого теста один за другим сервер закрывал соединение через ~ 2 минуты после перезагрузки - так что это не влияло на поведение сервера.
Что я заметил, наблюдая за использованием памяти в панели управления SolusVM. Когда соединения закрыты, использование памяти уменьшается с ~ 40% до ~ 20%, а затем через несколько секунд увеличивается до ~ 50%, а через несколько минут достигает 100%.
Что еще можно проверить, чтобы узнать, что происходит через эти 2 минуты после перезагрузки?
РЕДАКТИРОВАТЬ:
Мне также нужно добавить, что со времени моего последнего входа на сервер в корневом каталоге появились файлы «aquota.group» и «aquota.user». Я пока не понимаю, почему. Но попробовал команду quotaoff . После этого сервер закрыл соединения через ~ 2 минуты после перезагрузки - так что ... ничего не изменилось.