Задавайте вопросы, мы ответим
Вы не зашли.
Доброго дня ))))
Есть сервер. Полностью мой. Столкнулся с такой проблемой.
Постоянно растет Created_tmp_disk_tables. 5000 в час. Относительно Created_tmp_tables никак не хочет падать ниже 20%.
Опытным путем определил пользователя, через которого создаются временные таблицы на диске, но на нем висит большой домен с кучей скриптов.
Отключать их по очереди и ждать очень непросто.
Заменил уже все TEXT/BLOB на VARCHAR(10000)
max tmp tables = 32
tmp table size = 4,294,967,296
Физической памяти 8 гиг, Freebsd 7,x
Как определить, какие запросы приводят к созданию временных таблиц на диске ?
Неактивен
Через slow log или SHOW PROCESSLIST. Обычно медленные дисковые
запросы попадают и туда, и туда
Ах, да. На диск пишется не то, что больше tmp_table_size, а то, что
больше tmp_table_size и max_heap_table_size.
Неактивен
paulus написал:
Через slow log или SHOW PROCESSLIST. Обычно медленные дисковые
запросы попадают и туда, и туда
Ах, да. На диск пишется не то, что больше tmp_table_size, а то, что
больше tmp_table_size и max_heap_table_size.
сори,
max_heap_table_size = 4G тоже, конечно.
Про slow log знаю, но он зараза только медленные запросы логит.
Там есть флаг для запросов не использующих индексы и для всяких там админских запросах, а вот про темпорари,
тем более про темпорари ту диск нет.
Неактивен
Вам не кажется, что запрос, пишущий на диск четырехгигабайтную таблицу,
будет медленным?
Подкрутите long_query_time, если не попадают.
Неактивен
paulus написал:
Вам не кажется, что запрос, пишущий на диск четырехгигабайтную таблицу,
будет медленным?
Подкрутите long_query_time, если не попадают.
long_query_time исчисляется в секундах.
Запросы, создающие эти проклятые таблицы на диске, выполняются быстро, так что локализировать их по времени не получится.
А может на postgre перейти. Все-таки 8xAthlon / 8gb / 2xSAS 15k raid1 ?
Слышал, на нескольких ядрах mysql курит, тем более, что имеет место факт много пользователей работают с одной таблицей. Привалируют селекты
Отредактированно Microname (01.08.2010 14:25:02)
Неактивен
Угу, в секундах. 0.01 секунды, например, — вполне вменяемое значение. Если
запросы создают временную таблицу, но не создают нагрузку, то зачем их оп-
тимизировать?
Слышал, что в супермаркетах даже кассы выключают, потому что люди не могут
использовать несколько касс. Тем более, что имеет место факт много посетителей
покупают продукты питания. Превалирует оплата деньгами
Неактивен
А что Вы думаете об этом ?
http://www.mysqlperformanceblog.com/200 … ow_filter/
кто-нибудь юзал ?
Неактивен
Если у Вас перконовская сборка, то должно сработать, почему нет?
Неактивен
paulus написал:
Если у Вас перконовская сборка, то должно сработать, почему нет?
Кстати. Приходилось пробовать их сборки? Судя по тому, что они про свои сборки пишут все очень вкусно, но что то русско-язычных источников не видел
Неактивен
Всю сборку не использую, но XtraDB хорош.
Неактивен