Поиск по сайту:
Черная королева: Если не знаешь, что сказать, говори по-французски (Л. Кэрролл).

Потребление памяти MySQL и открытые операторы подготовки

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
28.05.2019
Потребление памяти MySQL и открытые операторы подготовки

Сегодня мы искали статьи по вопросу утечки памяти в MySQL.

В MySQL 8.0 мы включили инструментарий памяти по умолчанию, и можно увидеть распределение памяти для всех потоков, имеющих открытые операторы подготовки. Мы создали запрос о потребление памяти:

USE performance_schema;
SELECT t.thread_id, user,current_count_used, current_allocated, 
 current_avg_alloc, sp.count_star - sd.count_star open_sql_prepared, 
 cp.count_star - cc.count_star open_com_prepared
 FROM 
  ( SELECT COUNT_STAR,
     THREAD_ID
    FROM events_statements_summary_by_thread_by_event_name
    WHERE event_name = 'statement/sql/prepare_sql' ) sp
  JOIN
  ( SELECT COUNT_STAR,
     THREAD_ID
    FROM events_statements_summary_by_thread_by_event_name
    WHERE event_name = 'statement/com/Prepare' ) cp
  ON (cp.THREAD_ID = sp.THREAD_ID)
  JOIN
  ( SELECT COUNT_STAR,
     THREAD_ID
    FROM events_statements_summary_by_thread_by_event_name
    WHERE event_name = 'statement/sql/dealloc_sql' ) sd
  ON (sd.THREAD_ID = sp.THREAD_ID)
  JOIN
  ( SELECT COUNT_STAR,
     THREAD_ID
    FROM events_statements_summary_by_thread_by_event_name
    WHERE event_name = 'statement/com/Close stmt' ) cc
  ON (cc.THREAD_ID = sp.THREAD_ID)
 JOIN 
 sys.memory_by_thread_by_current_bytes t on t.thread_id = sp.thread_id
 WHERE sp.count_star - sd.count_star <> 0
   OR cp.count_star - cc.count_star <> 0;

 

И результат следующий:

+-----------+----------------+--------------------+-------------------+-------------------+-------------------+-------------------+
| thread_id | user           | current_count_used | current_allocated | current_avg_alloc | open_sql_prepared | open_com_prepared |
+-----------+----------------+--------------------+-------------------+-------------------+-------------------+-------------------+
|        58 | root@localhost |                207 | 1.74 MiB          | 8.62 KiB          |                 1 |                 0 |
|        61 | root@localhost |                 43 | 82.48 KiB         | 1.92 KiB          |                19 |                 0 |
|        62 | root@localhost |                 23 | 72.69 KiB         | 3.16 KiB          |                 6 |                 0 |
+-----------+----------------+--------------------+-------------------+-------------------+-------------------+-------------------+

 

Как видите, инструментарий MySQL 8.0 позволяет найти практически все, что вам нужно! Если у вас есть вопросы, пожалуйста, сообщите нам.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.