MySQL - Список добавленных в кеш запросов

123
N
На сайте с 06.05.2007
Offline
419
#11
mirrustam:
В этот момент mysql решил использовать смонтированную в память папку mysql_tmp. И данных у него было 300 мб.

Попытается использовать 300мб. Сайт грохается и показывает ошибку error 500.

Как уже сказали, tmp_dir используется для сортировок и тд,но не для кеша запросов.

mirrustam:
Видя, что не хватает памяти, он записывает не в mysql_tmp, а в какую то папку на диске. При этом посетитель сайта ошибки не замечает и всё для посетителя нормально работает?

Насколько мне известно, такого функционала нет.

В некоторых случаях mysql может делать паузу 10 секунд и ждать пока в tmpdir добавится место. Подробности в исходниках.

Кнопка вызова админа ()
M
На сайте с 30.07.2009
Offline
52
#12
netwind:

Как уже сказали, tmp_dir используется для сортировок и тд,но не для кеша запросов.

Только сейчас дошло , что tmp_dir не имеет отношения к кешу.

точно так же как и join_buffer_size.

вот блин, перепутал ... : )

кстати, на счёт join_buffer_size: Mysql его использует для сортировок и обработок больших таблиц в памяти, а если join_buffer_size меньше чем надо, то он дозаписывает свои данные во временную папку.

Но, так как мы временную папку tmp_dir смонтировали в оперативную память, он дозаписывает эти данные тоже в оперативную память.

верно?

N
На сайте с 06.05.2007
Offline
419
#13
mirrustam:
а если join_buffer_size меньше чем надо, то он дозаписывает свои данные во временную папку.

нет. не нужно выдумывать. в документации написано какой буфер для чего.

M
На сайте с 30.07.2009
Offline
52
#14

Кажется я всё понял.

Всем спасибо за помощь!

R8
На сайте с 11.01.2013
Offline
7
#15

знатки не подскажете почему не показывает состояние кеширование mysql?

с рутом выполняю команду mysql> show variables like 'query_cache%'; но нечего не показывает.

N
На сайте с 06.05.2007
Offline
419
#16

razer85, может так собрали любители собирать руками

что показывает show global variables like 'have_query%' ?

Mutabors
На сайте с 17.09.2012
Offline
127
#17
Andreyka:
Не слишком надейтесь на кеш мискуля - делайте свой на уровне приложения

Очень полезное замечание. В высоко нагруженных проектах именно так и делали, сильно спасало. Основной гиморой возникает при работе с единым кешем приложения при множестве нитей, но и это все со временем решили.

P.S. Само собой в случае использования только PHP, особого прироста это не даст, но огромный прирост получали при написании части модулей на перле и последующей их компиляции. Про С понятно и говорить нечего, если есть возможность написать на нем механизм кеширования и извлечения из кеша, то это наилучший вариант.

Самый продвинутый и надежный SSD хостинг рунета с изоляцией сайтов по 115 руб! (http://beget.ru/?id=332651) Контекстная реклама и продажи. Конкурентные и серые темы. Дорого! Не трать время на рутину! Ее сделают за копейки! (http://www.work-zilla.com?ref=143498)
R8
На сайте с 11.01.2013
Offline
7
#18
netwind:
что показывает show global variables like 'have_query%' ?

Выполняется запрос и нечего не показывает

N
На сайте с 06.05.2007
Offline
419
#19

razer85, ну значит кеша просто нет. разберитесь что это и как устанавливали. и больше так не делайте.

R8
На сайте с 11.01.2013
Offline
7
#20
netwind:
ну значит кеша просто нет. разберитесь что это и как устанавливали

Я прописал команду "query_cache_size=16M" в my.cnf в подразделе "mysqld" и перезапустил mysql но всеравно нечего не показывает.

А с командой для включения кеша "SET @@global.query_cache_size=16777216;"

пишет "command not found"

---------- Добавлено 21.08.2013 в 20:58 ----------

netwind:
и больше так не делайте.

Не скажете почему?

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий