Запрос MySQL грузит процессор на 100%

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Запрос MySQL грузит процессор на 100%

Сообщение lomuk » 23 июн 2015, 01:18

Вот такая кака появляется регулярно, пытаюсь убить процесс, не убивается, только жесткий ребут мускла, потом все по кругу, сейчас попробую удалить объявление №46, посмотрим что выйдет, но все же интересно почему так грузит?


MySQL on localhost (5.5.41) load 1.00 1.10 1.31 2/267 32695 up 10+21:20:48 [01:12:41]
Queries: 17.9M qps: 20 Slow: 11.6M Se/In/Up/De(%): 96/01/00/00
Sorts: 0 qps now: 4 Slow qps: 0.0 Threads: 2 ( 2/ 49) 00/00/00/00
Key Efficiency: 99.8% Bps in/out: 3.1k/29.5k Now in/out: 112.1/ 9.5k

Id User Host/IP DB Time Cmd State Query
-- ---- ------- -- ---- --- ----- ----------
42403 user localhost new 703001 Killed freeing SELECT `seo`.`id` AS `t1_c0`, `seo`.`model_name` AS `t1_c1`, `seo`.`model_id` AS `t1_c2`, `seo`.`url_ru` AS `t1_c3`, `seo`.`url_en` AS `t1_c4`, `seo`.`title_ru` AS `t1_c5`, `seo`.`title_en` AS `t1_c6`, `seo`.`description_ru` AS `t1_c7`, `seo`.`description_en` AS `t1_c8`, `seo`.`keywords_ru` AS `t1_c9`, `seo`.`keywords_en` AS `t1_c10`, `seo`.`url_de` AS `t1_c11`, `seo`.`title_de` AS `t1_c12`, `seo`.`description_de` AS `t1_c13`, `seo`.`keywords_de` AS `t1_c14`, `seo`.`direct_url` AS `t1_c15` FROM `ore_seo_friendly_url` `seo` WHERE (model_name="Apartment") AND (`seo`.`model_id`='46')
132085 user localhost new 0 Query show full processlist
Последний раз редактировалось lomuk 23 июн 2015, 02:52, всего редактировалось 1 раз.
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Запрос MySQL грузит процессор на 100%

Сообщение lomuk » 06 авг 2015, 14:05

Ребята, такой бред повторяется с кучей запросов, и грузит 8 ядер в 100%
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Запрос MySQL грузит процессор на 100%

Сообщение Xpycm » 06 авг 2015, 14:56

Посмотрите на max_execution_time, если оно равно 0 или больше 60, то уменьшайте. Зачем вам вечно выполняющийся процесс.

Добавьте отдельные индексы для полей model_name и model_id, а также составной индекс из model_name и model_id в таблице ore_seo_friendly_url, если их нет.
Отключите APC|Memcached и посмотрите на результат.

Сервер настраивался "по феншую" или "а впрочем пофиг на настройки, оно и так работает, здесь же Xeon E5/E7 и 64GB RAM" ?
Переходите на SSD.
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Запрос MySQL грузит процессор на 100%

Сообщение lomuk » 06 авг 2015, 18:14

Раз:
Мускл настроен нормально по "феншую" даже мусклтюнер молится на идеализм настройки, с max_execution_time поиграюсь, кеширование уже отключал не помогло, индекс добавил, посмотрим что будет

Два:
Сервер изначально на SSD

Три:
Параллельно с ОРЕ на сервере ещё 11 проектов с посещаемостью на 3-4 порядка выше, но с ними проблем нет.
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Запрос MySQL грузит процессор на 100%

Сообщение Xpycm » 06 авг 2015, 20:43

По результатам отпишитесь. Если не поможет - будем думать что ещё может быть.

По сути, в этом запросе нет ничего сложного: здесь даже нет ни JOIN, ни GROUP BY, ни ORDER BY.

Кстати говоря, версии mysql и php не пробовали обновлять на более свежие? Например, в том же php бывают неприятные моменты с производительностью и лечится оно только переходом на более новую версию.

Также в корневом файле index.php посмотрите чтобы обязательно были закомментированы строки:
Код: Выделить всё
defined('YII_DEBUG') or define('YII_DEBUG',true);
и
defined
('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3); 


в файле db.php:
1) ключ 'enableProfiling' был в значении false
2) включен кэш схемы таблиц: ключ 'schemaCachingDuration' в значение, например, 7200
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Запрос MySQL грузит процессор на 100%

Сообщение lomuk » 07 авг 2015, 00:56

Запросы бывают и с джоинами и с ордерами, строчки в индексе закомментировал, 1) ключ 'enableProfiling' был в значении false, был в true.

PHP 5.5.12
MySQL 5.5.43

Не совсем старые стоят)

В общем посмотрим, о результатах отпишусь
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Запрос MySQL грузит процессор на 100%

Сообщение lomuk » 07 авг 2015, 14:33

Если закомментировать defined('YII_DEBUG') or define('YII_DEBUG',true); то не работает поиск в админке ( новости и объявления, поиск по названию, сортировки не пробовал )
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Запрос MySQL грузит процессор на 100%

Сообщение Koduc » 11 авг 2015, 09:22

Debug точно отключать нужно. Плюс можете в самом MySQL настроить, чтобы он записывал "долгие" запросы в отдельный файл, потом проанализировать, откуда такое и почему.
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Запрос MySQL грузит процессор на 100%

Сообщение lomuk » 12 авг 2015, 15:38

Как же его отключить, если без него почему-то не работает часть функционала админки? Что с пользовательской стороны происходит, не проверял
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Запрос MySQL грузит процессор на 100%

Сообщение Koduc » 12 авг 2015, 17:36

Ну значит чинить надо)
Конечно, проблемы с MySQL это не решит, но немного ускорить должно.
А по поводу MySQL.. Нужно смотреть какие именно запросы тормозят и оптимизировать работу. Удаленно сложно что-то точное сказать..

Языки лишние можно поудалять (как я понимаю, они просто деактивированы). Но если было много кастома - то перед удалением сделайте езервную копию. Тоже может немного получится ускорить.
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 57