@Kennius
Начинающий фронт-эндер

Как оптимизировать mysql?

У меня есть сервер на debian на нём крутятся сайты и иногда загрузка mysql загружает процессор до 160-180% причём по долгу. Как можно оптимизировать и что? Что можно почитать на эту тему только то, что реально помогает так как скоро нагрузка ещё сильно увеличится, а переносить базу на отдельный сервер пока что нет возможности.
  • Вопрос задан
  • 2401 просмотр
Решения вопроса 2
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/
Вы тут экстрасенсов ищите, чтоб не видя вашего проекта оптимизировали? Начните с mysqltuner.pl - в базовых ситуациях дает достаточно грамотные советы, если не поможет подключите администратора баз данных к анализу проекта.
Ответ написан
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Ответов может быть несколько.
1) Начните с включения логирования медленных запросов - www.stableit.ru/2009/12/mysql-slow-query-log.html
2) Далее по каждому медленному запросу посмотрите как работают индексы и все ли нужные индексы построены (explain запроса)
3) Посмотрите на типичные ошибки запросов - code.tutsplus.com/tutorials/top-20-mysql-best-prac...
4) Если все это проделано, то начинайте оптимизировать базу данных (нормализовать): переделывать структуру таблиц, полей и самих запросов
5) Оптимизируйте количество запросов к базе (испольуйте пул соединений), оптимизируйте характеристики настроек стека TCP системы, поставьте SSD и т.д.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
e-antonov
@e-antonov
Посмотреть что покажет mysqltuner
Прочитать хорошую статью по тюнингу mysql habrahabr.ru/post/159085
Проанализировать медленные запросы и расставить, если это необходимо индексы
Такого минимума зачастую хватает, чтобы не трогать особо саму структуру базы
Ответ написан
Комментировать
@brutal_lobster
Ответ написан
Комментировать
@Nc_Soft
Памяти больше дайте и tmp_dir вынесите в озу, возможно, поможет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы