|
|
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вот столкнулся с большими объемами данных на MySQL сервере. Раньше с таким не работал. Медленно идут запросы select и особенно удаление из таблиц при этом утилизация диска вырастает на 100%. Посоветуйте как увеличить быстродействие системы. Параметры Сервер Виртуальный на ESXi 5 CPU 18 Gb memory OC Centos 6.3 Final mysql 5.1.67 Сейчас БД занимает 1.2 Тб. Формат таблиц Innodb, одним файлом. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Заранее спасибо за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 10:23:05 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvic, консультация в том, что консультация вам не нужна. Пока вы не вникните в то, как работают ваши запросы, никакими танцами с бубнами с конфигом это не решить. Надо анализировать запросы, менять схему и логику работы - это работает. А тут уже никто из советчиков по интернету бесплатно не сможет потратить месяц чтобы понять что там у вас и как. Поэтому не нужна консультация. Однако, предостеречь от ошибок можно : >query_cache_limit=10M >query_cache_size=512M перечитайте в документации как это работает. Большой кеш связан с большими проблемами по его очистке и поддержанию в актуальном состоянии. Скорее всего, вам такие завышенные значения не нужны. Попробуйте cache_size=128M. Соответственно query_cache_limit возможно тоже стоит занизить, ну скажем как было по-умолчанию 1M. Но это опять же просто предположение исходя из общей практики. У вас может быть другая ситуация. >Виртуальный на ESXi Это фактор риска. Кто еще на том же сервере и чем они занятны? Вроде как в ESXi заявлено разделение ввода-вывода, но по отзывам у людей оно как-то плоховато работает. Вы уверены, что соседи не грузят тот же диск или хранилище или что там у вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 11:01:27 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
netwindsergvic, консультация в том, что консультация вам не нужна. Пока вы не вникните в то, как работают ваши запросы, никакими танцами с бубнами с конфигом это не решить. Надо анализировать запросы, менять схему и логику работы - это работает. А тут уже никто из советчиков по интернету бесплатно не сможет потратить месяц чтобы понять что там у вас и как. Поэтому не нужна консультация. Однако, предостеречь от ошибок можно : >query_cache_limit=10M >query_cache_size=512M перечитайте в документации как это работает. Большой кеш связан с большими проблемами по его очистке и поддержанию в актуальном состоянии. Скорее всего, вам такие завышенные значения не нужны. Попробуйте cache_size=128M. Соответственно query_cache_limit возможно тоже стоит занизить, ну скажем как было по-умолчанию 1M. Но это опять же просто предположение исходя из общей практики. У вас может быть другая ситуация. >Виртуальный на ESXi Это фактор риска. Кто еще на том же сервере и чем они занятны? Вроде как в ESXi заявлено разделение ввода-вывода, но по отзывам у людей оно как-то плоховато работает. Вы уверены, что соседи не грузят тот же диск или хранилище или что там у вас? Стоит стороннее ПО, которое писали не мы. Сейчас с ними ведем переписку что бы понять что делать. На ESXi работает только две виртуалки БД и сервер вэб который общается с БД. Еще такой вопрос. Разделение таблиц по разным файлам может уменьшить нагрузку на сервер ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 11:16:43 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
>Стоит стороннее ПО, которое писали не мы. Сейчас с ними ведем переписку что бы понять что делать. Зато у вас есть slow query log (кстати, можно же long_query_time ставит равной 1 или даже 0.1, а анализировать не глазами а специальным ПО) и возможность добавить индексов. Стороннее ПО обычно эти действия даже не замечает. >На ESXi работает только две виртуалки БД и сервер вэб который общается с БД. но ведь вторая БД тоже нагружена? Да и веб всякий бывает. Там где-то в ESXi можно посмотреть текущую загрузку. А самый верный способ - временно отключить соседей. >Еще такой вопрос. Разделение таблиц по разным файлам может уменьшить нагрузку на сервер ? Если имеется ввиду innodb_file_per_table=1, то может, но опять же не слишком осмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 11:33:18 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
Смущает скорость удаление записей в таблицах. Н-р таблица занимающая 600 Гб. Удаление записей из таблицы за месяц занимает около 8 часов. Кол-во записей за месяц может быть около 800 тыс и больше. Раньше я с такими размерами БД не работал. Это нормально или нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 13:02:58 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
авторmysql 5.1.67 обновлять до 5.6 авторРаньше я с такими размерами БД не работал. Это нормально или нет ? партиционировать и дропать партицию. slow query log в студию. explain запросов в студию. show create table в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 14:27:40 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvic Код: plaintext Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 15:09:11 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvic Код: plaintext И почему так мало? Сколько таблиц в базе? Кстати, MyISAM не используется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 15:15:59 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvicСейчас БД занимает 1.2 Тб. Формат таблиц Innodb, одним файлом.1.2 Тб - размер файла или объем данных? Если база старая, то эти величины могут различаться в разы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 15:21:19 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
авторФормат таблиц Innodb, одним файлом. ну понятно. для начала сделать таблицу на файл. потом почитать про партиционирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 15:28:30 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
автор1.2 Тб - размер файла или объем данных? Если база старая, то эти величины могут различаться в разы. судя по авторУдаление записей из таблицы за месяц занимает около 8 часов она еще и фрагментированная вконец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 15:37:38 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvicСмущает скорость удаление записей в таблицах. Н-р таблица занимающая 600 Гб. Удаление записей из таблицы за месяц занимает около 8 часов. Кол-во записей за месяц может быть около 800 тыс и больше. А меня смущает только когда непрограммисты или ленящиеся программисты думают, что смогут исправить ситуацию на сервере одними настройками. От перехода на file_per_table вы наверняка сейчас получите некоторое улучшение, потому что еще и дефрагментация произойдет. Но если не разобраться в планах и запросах, потом все равно начнет тормозить. Раньше я с такими размерами БД не работал. Это нормально или нет ? Вообще - не очень. Стандартное использование бд подразумевает какой-то объем фактов или документов, которые генерирует человек, а у вас терабайты. Кто это все писал, читал, нажимал или подписывал? Действительно ли нужно хранить эти данные ? Может быть пожертвовать какой-нибудь детализацией и изменить логику системы ? Если уж решили использовать БД, придется разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 17:20:09 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
miksoftsergvicСейчас БД занимает 1.2 Тб. Формат таблиц Innodb, одним файлом.1.2 Тб - размер файла или объем данных? Если база старая, то эти величины могут различаться в разы. Размер файла ibdata1 и постоянно увеличивается. Что значит старая ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 17:27:55 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
netwindsergvicСмущает скорость удаление записей в таблицах. Н-р таблица занимающая 600 Гб. Удаление записей из таблицы за месяц занимает около 8 часов. Кол-во записей за месяц может быть около 800 тыс и больше. А меня смущает только когда непрограммисты или ленящиеся программисты думают, что смогут исправить ситуацию на сервере одними настройками. От перехода на file_per_table вы наверняка сейчас получите некоторое улучшение, потому что еще и дефрагментация произойдет. Но если не разобраться в планах и запросах, потом все равно начнет тормозить. Раньше я с такими размерами БД не работал. Это нормально или нет ? Вообще - не очень. Стандартное использование бд подразумевает какой-то объем фактов или документов, которые генерирует человек, а у вас терабайты. Кто это все писал, читал, нажимал или подписывал? Действительно ли нужно хранить эти данные ? Может быть пожертвовать какой-нибудь детализацией и изменить логику системы ? Если уж решили использовать БД, придется разбираться. В базу сыпется данные с GPS приемников с 1000 машин. Это не наша система. И в логику мы не можем вмешиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 17:29:53 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
miksoftsergvic Код: plaintext И почему так мало? Сколько таблиц в базе? Кстати, MyISAM не используется? В бызе 115 таблиц. MyISAM не используется в текущей БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 17:32:26 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvicВ базу сыпется данные с GPS приемников с 1000 машин. Это не наша система. И в логику мы не можем вмешиваться. да что вы так в этот факт уцепились ? В вашей ситуации запросы переделать "незаметно" можно с помощью, например, mysql-proxy. Индексы можно просто добавить или удалить так что никакое приложение их наличие не заметит. Версию mysql можно пытаться апгрейдить тоже. А еще может вам производитель, что подскажет если деньгами поделитесь. У некоторых стартаперов такая бизнес-модель. вываливать всякий посредственный опенсорс для всех, а проблемы с ним решают за деньги и вполне успешно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 17:48:19 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
netwindsergvicВ базу сыпется данные с GPS приемников с 1000 машин. Это не наша система. И в логику мы не можем вмешиваться. да что вы так в этот факт уцепились ? В вашей ситуации запросы переделать "незаметно" можно с помощью, например, mysql-proxy. Индексы можно просто добавить или удалить так что никакое приложение их наличие не заметит. Версию mysql можно пытаться апгрейдить тоже. А еще может вам производитель, что подскажет если деньгами поделитесь. У некоторых стартаперов такая бизнес-модель. вываливать всякий посредственный опенсорс для всех, а проблемы с ним решают за деньги и вполне успешно. Пока предлагают обновить железо. и заменить RAID5 на RAID10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 18:05:09 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
авторПока предлагают обновить железо. и заменить RAID5 на RAID10 «А нельзя ли выкинуть труп петуха, традиционно замурованного в левую пассажирскую дверцу»? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 18:06:27 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvicА еще может вам производитель, что подскажет если деньгами поделитесь. У некоторых стартаперов такая бизнес-модель. вываливать всякий посредственный опенсорс для всех, а проблемы с ним решают за деньги и вполне успешно. Пока предлагают обновить железо. и заменить RAID5 на RAID10[/quot] Вообще-то разумно, плохо raid5 подходит для бд с активной записью. Если думать в эту сторону подумайте сообразить SSD-ускоритель. Так можно довольно паршиво спроектированные системы вытянуть на приемлемый уровень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 18:35:04 |
|
||
|
Нужна консультация по оптимизации сервера MySQL
|
|||
|---|---|---|---|
|
#18+
sergvic, в базу сыплется с ... и удаляется по прошествии 8-и часов? С 1000 машин, а удаляется по 800 тыс. записей? Стало быть с каждого приемника "сыплется" по 800 записей за 8 часов .. по 100шт в час с каждого, так? Откуда файл на 1.2Тб? Сделайте дамп и залейте его, думаю вопрос отпадет "сам собой". Там, действительно скорее всего жуткая дефрагментация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 19:35:12 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1835834]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 372ms |

| 0 / 0 |
