Serg86
20.02.2016 - 10:23
В общем есть бд
Версия MySQL: 10.1.10-MariaDB
Размер 1,2 гб.
В ней есть две основных таблицы в первой около 350 000 (520 мб) строк и куча столбцов.
Как мне кажется она и создает нагрузку.
Вторая около 2 500 000 строк (350 мб) и 4 столбца, но выборка из неё идет в основном по id.
Проблема в том что MySql создает приличную нагрузку на сервер. Я так думаю что изза кеширования. Дело в том что в таблицы постоянно происходит запись, и соответственно кеш регулярно переписывается.
Подумывал насчет партиционирования, только не совсем понимаю, будет ли каждая партиция кешироваться отдельно или вся таблица целиком.
Еще мне не совсем понятен механизм партиционирования, допустим я разбил информацию за год на 12 партиций, в кроне поставил задание разбивать скажем каждого первого числа партицию текущего месяца пополам исходя из даты добавления строк.
Будут ли старые партиции удалены если из них удалить все записи.
Будут ли индексы также разделены по партициям.
T1grOK
20.02.2016 - 11:11
Цитата (Serg86 @ 20.02.2016 - 10:23) |
Как мне кажется она и создает нагрузку.
|
Цитата (Serg86 @ 20.02.2016 - 10:23) |
Я так думаю что изза кеширования.
|
Чтобы не делать предположений, сначала выясните, на чем конкретно тормозит, путем мониторинга и профилирования, потом ищите варианты решения проблемы.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Serg86
20.02.2016 - 11:56
Цитата |
Чтобы не делать предположений, сначала выясните, на чем конкретно тормозит, путем мониторинга и профилирования, потом ищите варианты решения проблемы. |
Подскажите как выяснить.
sergeiss
20.02.2016 - 12:02
Цитата (T1grOK @ 20.02.2016 - 11:11) |
Чтобы не делать предположений, сначала выясните, на чем конкретно тормозит |
Присоединяюсь к этому пожеланию. Лучше потратить время на поиск истинной причины, чем "методом научного тыка" перебирать кучу разных вариантов изменений, причем с не гарантированным результатом.
Те же партиции могут быть очень полезны для больших таблиц. Но при определенных условиях. Если их применить просто так, "чтоб были", то можно еще бОльшие тормоза получить.
Цитата (Serg86 @ 20.02.2016 - 11:56) |
Подскажите как выяснить. |
Например, через EXPLAIN посмотри, как выполняются твои запросы. Вполне возможно, что там не используются индексы, на которые ты надеешься. Вообще индексы - очень важная часть в процессе оптимизации запросов. Иногда разница по времени выполнения запроса может быть в несколько порядков (с правильными индексами и без них).
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Serg86
20.02.2016 - 12:12
Цитата |
Например, через EXPLAIN посмотри, как выполняются твои запросы. Вполне возможно, что там не используются индексы, на которые ты надеешься. Вообще индексы - очень важная часть в процессе оптимизации запросов. Иногда разница по времени выполнения запроса может быть в несколько порядков (с правильными индексами и без них). |
Это я все знаю, есть небольшой процент запросов который выболняется 4-5 сек, не добрался до них пока. Но дело не в индексах как мне кажется, а именно в самой логике или в конфиге MySql.
Цитата |
Как мне кажется она и создает нагрузку. |
Наверно не достаточно подробно выразился. Создает нагрузку на процессор, сьедает около 70% восьмиядерного процессора.
При индексировании поисковыми машинами, количество запросов сильно возрастает и начинаются тормоза.
T1grOK
20.02.2016 - 13:16
Цитата (Serg86 @ 20.02.2016 - 08:12) |
как мне кажется |
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
redreem
20.02.2016 - 13:44
Цитата |
350 000 (520 мб) строк и куча столбцов |
тут явно что "не красивое"
может перепроектировать базу проще?
inpost
20.02.2016 - 13:49
Serg86А точно индексы стоят? 5 секунд смахивает на поиск без индексов
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Serg86
20.02.2016 - 15:22
Цитата |
А точно индексы стоят? 5 секунд смахивает на поиск без индексов wink.gif |
Я ж говорю, что руки не дошли, они без индексов, но количество медленных запросов незначительно.
Цитата |
350 000 (520 мб) строк и куча столбцов
тут явно что "не красивое" smile.gif может перепроектировать базу проще? |
Куча это 36
inpost
20.02.2016 - 16:54
Serg86У меня 100 столбцов и нормально, живём. Ты ищешь не там проблему. Проблема в отсутствии индексом.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Индексы это первое что надо сделать. Потом перепроектировать. Потом патиции.
_____________
Трус не играет в хокей
Serg86
20.02.2016 - 22:21
Ок, за помощ всем спасибо, попробую для начала индексы до совершенства довести. Единственное чего пока для себя не понял это логика пртиций, смогу ли я по крону просто создавать новые партиции раз в месяц к примеру или раз в неделю и будут ли отваливаться старые при отсудствии записей в них, и как работает кеширование таблиц в оперативной памяти, будут ли кешироваться партиции отдельно? или вся таблица целиком будет опять бегать в оперативную память и скидываться при каждом изменении?
sergeiss
20.02.2016 - 22:40
Цитата (Serg86 @ 20.02.2016 - 22:21) |
смогу ли я по крону просто создавать новые партиции раз в месяц к примеру или раз в неделю и будут ли отваливаться старые при отсудствии записей в них |
Если ты собрался по крону создавать партиции, то забудь про это!!! И почитай про них, т.е. про партиции, более внимательно.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.