Я относительно новичок в проблемах с сервером, поскольку мой сайт, который я начал в начале года, выходит за рамки моих возможностей по управлению им. Мне нужна помощь.
Недавно я переехал из среды общего хостинга на выделенный виртуальный сервер от Mediatemple.
Каждую неделю я запускаю сценарий, который извлекает данные из моей БД, извлекает данные из API last.fm, а затем отправляет информацию в Twitter.
Мой сервер использует ПК Р-Виртуализация, и при запуске сценария Apache вылетает каждые 5 минут. Я проверил и увидел, что параметр kmemsize достигает своего предела (его 13 МБ).
Я осознаю свою проблему. Процесс MySQL остается открытым в течение долгого времени, в то время как Apache необходимо обрабатывать множество входящих ссылок (около 200 000 просмотров страниц за этот день согласно AWSTATS моего предыдущего хоста). Да, я совершенно неопытен в этом, и я явно убиваю сервер слишком большим количеством входящих ссылок, пока он должен управлять обновлением БД.
Итак, это прецедент: я хочу несколько ответов.
1) Почему в моей среде общего хостинга не вылетал apache каждые 5 минут? Он работал нормально, только сайт сильно тормозил. Понятно, это должен быть виртуальный контейнер и лимит kmemsize?
2) Куда мне идти дальше? Будет ли физический сервер (не виртуальный контейнер) сталкиваться с такими же проблемами?
Я также отправил запрос в службу поддержки Mediatemple. Мне нужна вся помощь, которую я могу получить.
Это может быть так же просто, как настройка mySQL.
На вашем старом хосте / сервере мог быть уникальный файл /etc/my.cnf по сравнению с обычным файлом vanilla.
Начните с базового мониторинга MySQL - вот несколько инструментов, которые могут вам помочь:
top, mtop и innotop
(в Linux по умолчанию используется верх) mtop - http://mtop.sourceforge.net innotop - http://innotop.sourceforge.net
Вы также можете прибегнуть к инструменту мониторинга MySQL из командной строки (cli).
mysqladmin список процессов / mysqladmin proc
К сожалению, многие люди будут использовать шаблоны по умолчанию, доступные в / usr / share / mysql.
Я НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ ПРОПУСТИТЬ ИХ - они старые и их не стоит использовать по следующим причинам:
Недопустимые настройки для некоторых версий ОС или MySQL (например, thread_concurrency и skip-lock). Добавление огромных переменных массива, которые вы можете не понимать, что они собой представляют. Производительность от их тестирования с другими настройками более чем просто сомнительна. После их запуска и выполнения некоторой настройки - дайте mysql поработать не менее 24-48 часов, а затем используйте следующие инструменты диагностики:
Тюнер MySQL (просто введите wget mysqltuner.pl в linux для загрузки, затем chmod755 mysqltuner.pl и запустите его, выполнив ./mysqltuner.pl ;-) mysqlidxchk (Установите с помощью wget hackmysql.com/scripts/mysqlidxchk-1.1 chmod 755 mysqlidxchk * mysqlidxchk * mysqlidxchk), затем запустите, выполнив что-то вроде этого: (./mysqlidxchk --general / var / lib / mysql / general.log) Если вам нужна помощь в их установке, дайте мне знать
PS - большинство из них являются скриптами только для Linux, но они очень помогут в настройке и управлении вашим сервером mySQL.
А также хороший инструмент для анализа журналов, такой как mysqlsla и mysqlreport, для отчета о состоянии
Вы случайно не пользуетесь панелью управления?
Я знаю, что это довольно старый вопрос, но следующие мысли будут полезны:
Если дело в настройке сервера MySQL, я использую http://tools.percona.com Это бесплатная услуга, просто зарегистрируйтесь, войдите в систему, заполните данные о сервере, и она предоставит вам настройки, которые необходимо включить в файл my.ini.
Я видел улучшения производительности, например, импорт, который занимал 20 минут, мог быть выполнен за 7 секунд после настройки.
То, как работает технология VZ, накладывает ограничения на различные ресурсы. Если счетчик beancounter показывает, что вы превышаете лимит памяти, у вас есть несколько вариантов.
Существуют различные учебные пособия, в которых показано, как настроить легкий стек, подобный LAMP, для различных небольших опций VPS.
vzctl set 101 --kmemsize 2211840: 2359296 - сохранить
Попробуйте, это увеличит размер kmemsize