Всем добрый день! Прошу помощи, совета, подсказки в моей проблеме.
Имеем выделенный сервер 2х Xeon E5-2670, 64Gb RAM, 240Gb SSD. На сервере расположен единственный проект среднего уровня. В проекте присутствует база данных из 3 таблиц. Загруженность MySQL:
root@d:/var/log/mysql# mysqladmin status Uptime: 5562 Threads: 132 Questions: 581856 Slow queries: 0 Opens: 359 Flush tables: 1 Open tables: 322 Queries per second avg: 104.612
К таблицам выполняется достаточно большое количество запросов SELECT, UPDATE, INSERT.
Первая таблица - SELECT и UPDATE запросы, редко INSERT. Таблица InnoDB, примерно 12000 записей.
Вторая таблица основная, "рабочая", в ней постоянно присутствует ~500 000 записей. INSERT, UPDATE, SELECT присутствует в полном объеме, в час пик порядка 300-400 запросов в секунду именно к этой таблице. MyISAM.
Третья таблица MyISAM, самая "тяжелая" - порядка 150 миллионов записей. Запросы к ней не частые, это INSERT (по 500-1000 строк) и SELECT (полнотекстовый). Ключи на месте, запросы выполняются быстро.
Расставлены ключи на основные поля, запросы выполняются достаточно быстро, slow-запросы в логах отсутствуют.
На сервере сайт расположен всего неделю, но уже сейчас в часы активности наблюдаются серьезные "провалы" в работе сайта. MySQL сильно грузит процессор, в htop'е периодически появляется
При этом Load average в пределах нормы и в целом сервер работает стабильно.
Ищу причины происходящего.
Что делал: -расставлял дополнительные ключи, сейчас практически все поля по которым -выполняются запросы являются ключами. - ковырялся в конфигурации mysql. Признаюсь честно, не эксперт в этом вопросе - поэтому ничего конкретного тут не сделано и пользы от этого не замечено
Подозреваю - нужно что то менять в конфиге mysql Возможно - переводить рабочую таблицу в InnoDB.
В интернете попадаются похожие проблемы, но решения найти не удалось.. Прошу помощи, друзья, в решении моей проблемы.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей