Производительность запросов

Главные вкладки

Аватар пользователя Zonder Zonder 25 ноября 2008 в 14:16

Зашел тут в watchdog просмотреть информацию по SQL. И увидел следующее:

Производительность запросов
Select_full_join - 2757
Select_range_check - 0
Sort_scan - 227576
Table_locks_immediate - 3859706
Table_locks_waited - 11979

Информация о кеше запросов
Qcache_queries_in_cache - 0
Qcache_hits - 0
Qcache_inserts - 0
Qcache_lowmem_prunes - 0

Я понимаю, что у меня какой-то нездорович. Но вот что поправить не пойму. Подскажите плиз...

Комментарии

Аватар пользователя Demimurych Demimurych 25 ноября 2008 в 14:30

А что Вас беспокоит? Внешне все более менее.

Попробуйте включить модуль devel и посмотреть подробнее по запросам.

Попробуйте включить в mysql лог долгих запросов.

Аватар пользователя Zonder Zonder 25 ноября 2008 в 15:07

Разве Select_full_join и Sort_scan не должны быть равны нулю?
Девел сообщает, что страницы в среднем генеряться по 2512.42 ms.
Помоему это уж очень както много.
Для главной: Executed 318 queries in 1682.07 milliseconds.

Посмотрел по запросам - проблемными являются:

_privatemsg_get_new_messages
pager_query
cache_get
comment_num_new
locale
votingapi_get_vote
node_load
buddylist_get_buddies

и далее еще целый список. Что делать?

Аватар пользователя Demimurych Demimurych 25 ноября 2008 в 18:38

А вы случайно не используете какой либо свой модуль? Со своими таблицами?

Select_full_join - 2757

Всего лишь говорит о том что при использовании JOIN в запросе произошла выборка ВСЕЙ таблицы и ключи не использовались. Если таблица с которой делался JOIN минимальна то в этом ничего страшного нет. Это плохо лишь в случае когда таблица к которой шел JOIN большая.

Из всего вышеперечисленного Вами я не знаю что такое:

privatemsg_get_new_messages
comment_num_new
buddylist_get_buddies

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

Аватар пользователя Zonder Zonder 26 ноября 2008 в 0:28

Своих модулей нет. Но в целом в системе их достаточно много.

Возможно стоит будет добавить индексы проблемным полям.

Прошу прощения, но я не программер. Хотя кое-что могу сделать сам. Не подскажите как добавить индексы? Буду благодарен

Аватар пользователя Demimurych Demimurych 26 ноября 2008 в 11:55

"Coxus" wrote:
Прошу прощения, но я не программер. Хотя кое-что могу сделать сам. Не подскажите как добавить индексы? Буду благодарен

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

Для того чтобы проделать это самостоятельно Вам нужно ориентироваться в том как строят SQL запросы и каким образом их оптимизировать. Владеть каким нибудь инструментом для администрирования БД. Самый простой пример phpmyadmin