mysql грузит процессор

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Aleksei.kor
Сообщения: 14
Зарегистрирован: Вс мар 31, 2019 7:21 pm
Благодарил (а): 0
Поблагодарили: 0

mysql грузит процессор

Сообщение Aleksei.kor » Вс мар 31, 2019 7:36 pm

Добрый день! Помогите решить проблему.
У меня установлена система Majordomo на ПК с процессором Atom425. Операционная система Ubuntu 16.04.6 LTS. После установки системы загрузка процессора не превышает 35-40% в пике. Через несколько дней загрузка процессора становится 90-100%. Процессор грузит процесс mysql.
Если отключить все устройства ESP8266 (wifiot) 3 шт, то загрузка процессора не превышает 30%.
Помогите пожалуйста кто нибудь!
Jilber
Сообщения: 684
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 113 раз
Поблагодарили: 107 раз

Re: mysql грузит процессор

Сообщение Jilber » Вс мар 31, 2019 8:42 pm

Не могут ESP слишком часто передавать данные ? И в "Устройствах онлайн" какой интервал проверки ? Модуль "Optimizer" не пробовал если история свойств включена ? У меня когда слишком много данных в истории, то тоже подтормаживать начинает.
Aleksei.kor
Сообщения: 14
Зарегистрирован: Вс мар 31, 2019 7:21 pm
Благодарил (а): 0
Поблагодарили: 0

Re: mysql грузит процессор

Сообщение Aleksei.kor » Вс апр 07, 2019 5:06 pm

ESP отсылали данные каждые 10 сек.
Установил 30сек. загрузка снизилась.
Если вообще отключить передачу от ESP то загрузка 5%
zukum
Сообщения: 2
Зарегистрирован: Ср июл 04, 2018 11:35 am
Благодарил (а): 0
Поблагодарили: 3 раза

Re: mysql грузит процессор

Сообщение zukum » Чт апр 25, 2019 8:55 am

У меня также была проблема - каждую минуту MySQL начинал грузить процессор, отчего безвентиляторный компьютер сильно грелся.
В результате анализа чем занят MySQL выяснил что он после каждой обработки сообщений от датчика(esp8266) пытается зачистить исторические данные старше - в моей случае 2000дней в таблице phistory. Т.к. таблица под несколько мильонов записей - эта операция сильно нагружала процессор. Закоментировал в cycle_main.php строки "//SQLExec("DELETE FROM $table_name WHERE VALUE_ID='" . $keep_rec['VALUE_ID'] . "' AND TO_DAYS(NOW())-TO_DAYS(ADDED)>" . (int)$keep_rec['KEEP_HISTORY']);" - проблема решилась.
Комп грется перестал.
Считаю что код написан неоптимально. ЗАчистку надо проводить максимум раз в сутки по всем свойствам объектов системы а не после каждого обновления свойства.
За это сообщение автора zukum поблагодарили (всего 3):
xor (Чт апр 25, 2019 9:06 am) • viktor6 (Сб апр 27, 2019 10:04 pm) • Bolik.Stav (Сб июл 06, 2019 9:52 am)
Рейтинг: 3.49%
Ответить