|
|
|
Странность при импорте таблицы
|
|||
|---|---|---|---|
|
#18+
Господа, хотело бы услышать ваши идеи по поводу ситуации ниже. На связке PHP+MySQL работает некий наш сервис. В базе есть две таблицы типа MyISAM - одна на 16 млн. записей, другая на 39 млн. В обеих разумеется настроены индексы. С этими таблицами скрипты уже несколько месяцев как работают. Все это крутится на двух выделенных серверах - скрипы на одном, а мускуль на другом. Винты под базу - SSD. Скорость добавления записей в таблицы выше скорости удаления из них устаревших данных поэтому обе таблицы растут. Несколько дней назад мы зафиксировали резкое падение скорости работы скрипов. Ни скрипты, ни базу не трогали. Сервера тоже не тюнили но факт оставался фактом. Запросы то проскакивали быстро, но требовалось десятки секунд (начал активно расти лог медленных запросов). В итоге было решено сбэкапить эти две таблицы, грохнуть их и снова импортировать в базу. И это помогло! Вопрос - почему?? :) Что такого может произойти при импорте таблицы с нуля, что способно вернуть ей былую скорость доступа? Заранее спасибо за идеи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2015, 21:54:52 |
|
||
|
Странность при импорте таблицы
|
|||
|---|---|---|---|
|
#18+
На размеры файлов таблиц до и после бекап/рестори не обратили внимания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2015, 23:24:11 |
|
||
|
Странность при импорте таблицы
|
|||
|---|---|---|---|
|
#18+
vkle, честно говоря не фиксировали это дело... а что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2015, 23:25:37 |
|
||
|
Странность при импорте таблицы
|
|||
|---|---|---|---|
|
#18+
На уровне предположения, может файлы разбухли до безобразия, так, что перестали умещаться в файловый буфер ОС. Это привело к увеличению объема дисковых операций. Когда данные загнали "с нуля" - получился файл данных меньшего размера, без пустых строк (насколько понимаю, записи из таблиц удаляются, но вопрос по оптимизации в топике пока не освещён). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2015, 23:59:31 |
|
||
|
Странность при импорте таблицы
|
|||
|---|---|---|---|
|
#18+
vkle, По размерам файлов таблиц. Та таблица, в которой 38 млн. строк (на данный момент) она весит 6,7Гб, вторая - на 16 млн. - 1,1Гб. Думаю что ни 1 Гб, ни 6Гб не могут уместится в файловый буфер ОС, но сейчас скорость держится на высоком уровне. Про оптимизацию не совсем понял. Вы говорите о необходимости при удалении записей не оставлять пустых строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 08:37:50 |
|
||
|
Странность при импорте таблицы
|
|||
|---|---|---|---|
|
#18+
leonidus1981Про оптимизацию не совсем понял.Существует команда OPTIMIZE TABLE, которая делает примерно тоже самое, что вы делали руками - создает новую копию файла с таблицей. Попутно пересчитывая статистику. Устаревшая статистика тоже может сыграть роль, например, если стали строиться неправильные планы запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 09:24:26 |
|
||
|
Странность при импорте таблицы
|
|||
|---|---|---|---|
|
#18+
leonidus1981Думаю что ни 1 Гб, ни 6Гб не могут уместится в файловый буфер ОС, но сейчас скорость держится на высоком уровне.Целиком им не обязательно удерживаться в буферах, достаточно, если будет удерживаться "горячая" часть. Кстати, к индексам это тоже относится. После пересоздания таблицы индексы стали меньше и им (или их "горячей" части) стало легче помещаться в key_buffer_size. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2015, 09:27:37 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39097979&tid=1832507]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 348ms |

| 0 / 0 |
