Процесс mysqld.exe ест до 50% ЦП
Модератор: immortal
-
- Сообщения: 217
- Зарегистрирован: Вт июл 21, 2015 4:59 pm
- Откуда: Москва
- Благодарил (а): 56 раз
- Поблагодарили: 1 раз
Re: Процесс mysqld.exe ест до 50% ЦП
Отключил задачи которые выполнялись каждые 5 минут и geturl вообще не отправлялся
Ситуация с загрузкой ЦП не изменилась!
Ситуация с загрузкой ЦП не изменилась!
MDM Raspberry Pi 3b, esp32, ModBUS, esp8266, NooLite(MTRF-64-USB, SU-1-***, SLF-1-300, PM112, радиопульты PU)
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Процесс mysqld.exe ест до 50% ЦП
В альфа-ветке появился ещё один вариант оптимизации -- разделение записи истории по разным таблицам базы данных. Для систем с большим объёмом данных это должно снизить загрузку процессора, НО при этом в базе данных будет создано большое количество новых таблиц (по одной на каждое свойство с историей). Последнее скорее не удобно, чем плохо, но если больше ничего не помогает, то рекомендую попробовать.
Процедура такая:
1. Делаем резервную копию базы данных (как минимум)
2. Останавливаем систему (циклы)
3. В config.php добавляем строчку
4. Запускаем систему
В процессе запуска будет обработана вся таблица phistory и данные будут раскиданы в новые таблицы -- процесс занимает некоторое время и крайне желательно его не прерывать, чтобы не потерять ничего.
Если эффекта нужного не дало, то можно сделать обратную операцию -- всё тоже самое, только в пункте 3 убираем добавленную строчку. В процессе запуска тогда данные снова соберутся в одну таблицу и все ранее созданные таблицы будут удалены.
В общем, попробуйте, но не забывайте про резервную копию, на тот случай, если что-то пойдёт не так.
Процедура такая:
1. Делаем резервную копию базы данных (как минимум)
2. Останавливаем систему (циклы)
3. В config.php добавляем строчку
Код: Выделить всё
Define('SEPARATE_HISTORY_STORAGE',1);
В процессе запуска будет обработана вся таблица phistory и данные будут раскиданы в новые таблицы -- процесс занимает некоторое время и крайне желательно его не прерывать, чтобы не потерять ничего.
Если эффекта нужного не дало, то можно сделать обратную операцию -- всё тоже самое, только в пункте 3 убираем добавленную строчку. В процессе запуска тогда данные снова соберутся в одну таблицу и все ранее созданные таблицы будут удалены.
В общем, попробуйте, но не забывайте про резервную копию, на тот случай, если что-то пойдёт не так.
- Рейтинг: 3.49%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 217
- Зарегистрирован: Вт июл 21, 2015 4:59 pm
- Откуда: Москва
- Благодарил (а): 56 раз
- Поблагодарили: 1 раз
Re: Процесс mysqld.exe ест до 50% ЦП
Спасибо, попробуюsergejey писал(а):В альфа-ветке появился ещё один вариант оптимизации -- разделение записи истории по разным таблицам базы данных. Для систем с большим объёмом данных это должно снизить загрузку процессора, НО при этом в базе данных будет создано большое количество новых таблиц (по одной на каждое свойство с историей). Последнее скорее не удобно, чем плохо, но если больше ничего не помогает, то рекомендую попробовать.
Процедура такая:
1. Делаем резервную копию базы данных (как минимум)
2. Останавливаем систему (циклы)
3. В config.php добавляем строчку4. Запускаем системуКод: Выделить всё
Define('SEPARATE_HISTORY_STORAGE',1);
В процессе запуска будет обработана вся таблица phistory и данные будут раскиданы в новые таблицы -- процесс занимает некоторое время и крайне желательно его не прерывать, чтобы не потерять ничего.
Если эффекта нужного не дало, то можно сделать обратную операцию -- всё тоже самое, только в пункте 3 убираем добавленную строчку. В процессе запуска тогда данные снова соберутся в одну таблицу и все ранее созданные таблицы будут удалены.
В общем, попробуйте, но не забывайте про резервную копию, на тот случай, если что-то пойдёт не так.
Эта строка должна потом остаться?
Код: Выделить всё
Define('SEPARATE_HISTORY_STORAGE',1);
Можно пример
MDM Raspberry Pi 3b, esp32, ModBUS, esp8266, NooLite(MTRF-64-USB, SU-1-***, SLF-1-300, PM112, радиопульты PU)
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Процесс mysqld.exe ест до 50% ЦП
Да, строка должна остаться.EvgenyG писал(а):Эта строка должна потом остаться?Не совсем понял, про сложности работы с разделёнными таблицамиКод: Выделить всё
Define('SEPARATE_HISTORY_STORAGE',1);
Можно пример
Сложность только в том, что если вы заходите вручную в базу данных, то там очень много таблиц. Для системы никакой сложности нет.
- Рейтинг: 1.16%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 217
- Зарегистрирован: Вт июл 21, 2015 4:59 pm
- Откуда: Москва
- Благодарил (а): 56 раз
- Поблагодарили: 1 раз
Re: Процесс mysqld.exe ест до 50% ЦП
Сделалsergejey писал(а):В альфа-ветке появился ещё один вариант оптимизации -- разделение записи истории по разным таблицам базы данных. Для систем с большим объёмом данных это должно снизить загрузку процессора, НО при этом в базе данных будет создано большое количество новых таблиц (по одной на каждое свойство с историей). Последнее скорее не удобно, чем плохо, но если больше ничего не помогает, то рекомендую попробовать.
Процедура такая:
1. Делаем резервную копию базы данных (как минимум)
2. Останавливаем систему (циклы)
3. В config.php добавляем строчку4. Запускаем системуКод: Выделить всё
Define('SEPARATE_HISTORY_STORAGE',1);
В процессе запуска будет обработана вся таблица phistory и данные будут раскиданы в новые таблицы -- процесс занимает некоторое время и крайне желательно его не прерывать, чтобы не потерять ничего.
Если эффекта нужного не дало, то можно сделать обратную операцию -- всё тоже самое, только в пункте 3 убираем добавленную строчку. В процессе запуска тогда данные снова соберутся в одну таблицу и все ранее созданные таблицы будут удалены.
В общем, попробуйте, но не забывайте про резервную копию, на тот случай, если что-то пойдёт не так.
Как понять, что базы разделились?
MDM Raspberry Pi 3b, esp32, ModBUS, esp8266, NooLite(MTRF-64-USB, SU-1-***, SLF-1-300, PM112, радиопульты PU)
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Процесс mysqld.exe ест до 50% ЦП
Зайти в базу данных db_terminal через phpmyadmin и там будет очень много таблиц.EvgenyG писал(а):Сделал
Как понять, что базы разделились?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 366
- Зарегистрирован: Пт июл 26, 2013 4:11 pm
- Благодарил (а): 71 раз
- Поблагодарили: 18 раз
Re: Процесс mysqld.exe ест до 50% ЦП
я попробовал, но теперь БД не хранит историю.sergejey писал(а):Зайти в базу данных db_terminal через phpmyadmin и там будет очень много таблиц.EvgenyG писал(а):Сделал
Как понять, что базы разделились?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Процесс mysqld.exe ест до 50% ЦП
Сорри, забыл загрузить обновление модуля Charts. Обновите его и сейчас должно быть ок.ILGAS писал(а):обманул, перестали работать графики. (charts)
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 366
- Зарегистрирован: Пт июл 26, 2013 4:11 pm
- Благодарил (а): 71 раз
- Поблагодарили: 18 раз
Re: Процесс mysqld.exe ест до 50% ЦП
sergejey, все получилось, спасибо, возможно обновление или разделение таблиц.sergejey писал(а):Сорри, забыл загрузить обновление модуля Charts. Обновите его и сейчас должно быть ок.ILGAS писал(а):обманул, перестали работать графики. (charts)
ps не в тему, Сергей, у меня после каждой установки (обновление системы и даже обновления из маркета) включается "AUTO-RECOVERY" у цикла "cycle_schedapp", после этого в "Debug" сыпятся ошибка
11:46:52 0.88009900 AUTO-RECOVERY: ./scripts/cycle_schedapp.php
11:46:51 0.86548000 Closing thread: c:/_majordomo/server/php/php.exe -q ./scripts/cycle_schedapp.php --params "a:0:{}">>C:\_majordomo\htdocs/debmes/log_2017-09-08-cycle_schedapp.php.txt
11:46:50 0.80839100 AUTO-RECOVERY: ./scripts/cycle_schedapp.php
11:46:49 0.78046200 Closing thread: c:/_majordomo/server/php/php.exe -q ./scripts/cycle_schedapp.php --params "a:0:{}">>C:\_majordomo\htdocs/debmes/log_2017-09-08-cycle_schedapp.php.txt
11:46:48 0.76156100 AUTO-RECOVERY: ./scripts/cycle_schedapp.php
11:46:48 0.31799200