Назад | Перейти на главную страницу

Производительность mysql, понимание top

У нас есть 64-битный сервер Mac OS X, на котором запущен mysql. У машины 48 ГБ оперативной памяти.

Вверху показано, как показано ниже.

MemRegions: 12053 total, 16G resident, 12M private, 76M shared. PhysMem: 2072M wired, 17G active, 29G inactive, 48G used, 21M free.

Главный вывод для mysql:

COMMAND             %CPU    TIME        #TH      #WQ     #PORTS    #MREGS   RPRVT     RSHRD     RSIZE     VPRVT     VSIZE     PGRP     PPID     STATE       UID     FAULTS 
mysqld              31.9     07:27:15    69/4     0       204       655      15G+      244K      15G+      16G       23G       64202    1        running     74      4183172+ 

Один из запросов не выполняется для 20 тыс. Строк даже в течение> 12 часов. Я думаю, что это происходит, потому что доступная физическая память составляет всего 21 МБ. Но запрос выполняется за минуту для 2k строк.

Все ссылки на таблицы в запросах - myisam, но 2 таблицы - innodb.

Поскольку проблема связана с памятью, вот некоторые параметры mysql, которые интенсивно используют память.

key_buffer_size = 12 ГБ max_allowed_packet = 1 ГБ innodb_buffer_pool_size = 8 ГБ myisam_sort_buffer_size = 64 МБ

Может кто подскажет, есть ли что-то не так с конфигурацией.

включите журнал медленных запросов и посмотрите, есть ли у вас плохие запросы

http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html