Страница 2 из 3

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Пн май 22, 2017 3:33 pm
EvgenyG
Отключил задачи которые выполнялись каждые 5 минут и geturl вообще не отправлялся
Ситуация с загрузкой ЦП не изменилась!

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Вт сен 05, 2017 12:36 pm
sergejey
В альфа-ветке появился ещё один вариант оптимизации -- разделение записи истории по разным таблицам базы данных. Для систем с большим объёмом данных это должно снизить загрузку процессора, НО при этом в базе данных будет создано большое количество новых таблиц (по одной на каждое свойство с историей). Последнее скорее не удобно, чем плохо, но если больше ничего не помогает, то рекомендую попробовать.

Процедура такая:
1. Делаем резервную копию базы данных (как минимум)
2. Останавливаем систему (циклы)
3. В config.php добавляем строчку

Код: Выделить всё

Define('SEPARATE_HISTORY_STORAGE',1); 
4. Запускаем систему

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

Если эффекта нужного не дало, то можно сделать обратную операцию -- всё тоже самое, только в пункте 3 убираем добавленную строчку. В процессе запуска тогда данные снова соберутся в одну таблицу и все ранее созданные таблицы будут удалены.

В общем, попробуйте, но не забывайте про резервную копию, на тот случай, если что-то пойдёт не так.

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Ср сен 06, 2017 12:03 pm
EvgenyG
sergejey писал(а):В альфа-ветке появился ещё один вариант оптимизации -- разделение записи истории по разным таблицам базы данных. Для систем с большим объёмом данных это должно снизить загрузку процессора, НО при этом в базе данных будет создано большое количество новых таблиц (по одной на каждое свойство с историей). Последнее скорее не удобно, чем плохо, но если больше ничего не помогает, то рекомендую попробовать.

Процедура такая:
1. Делаем резервную копию базы данных (как минимум)
2. Останавливаем систему (циклы)
3. В config.php добавляем строчку

Код: Выделить всё

Define('SEPARATE_HISTORY_STORAGE',1);
4. Запускаем систему

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

Если эффекта нужного не дало, то можно сделать обратную операцию -- всё тоже самое, только в пункте 3 убираем добавленную строчку. В процессе запуска тогда данные снова соберутся в одну таблицу и все ранее созданные таблицы будут удалены.

В общем, попробуйте, но не забывайте про резервную копию, на тот случай, если что-то пойдёт не так.
Спасибо, попробую
Эта строка должна потом остаться?

Код: Выделить всё

Define('SEPARATE_HISTORY_STORAGE',1);
Не совсем понял, про сложности работы с разделёнными таблицами
Можно пример

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Ср сен 06, 2017 3:08 pm
sergejey
EvgenyG писал(а):Эта строка должна потом остаться?

Код: Выделить всё

Define('SEPARATE_HISTORY_STORAGE',1); 
Не совсем понял, про сложности работы с разделёнными таблицами
Можно пример
Да, строка должна остаться.
Сложность только в том, что если вы заходите вручную в базу данных, то там очень много таблиц. Для системы никакой сложности нет.

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Чт сен 07, 2017 9:07 pm
EvgenyG
sergejey писал(а):В альфа-ветке появился ещё один вариант оптимизации -- разделение записи истории по разным таблицам базы данных. Для систем с большим объёмом данных это должно снизить загрузку процессора, НО при этом в базе данных будет создано большое количество новых таблиц (по одной на каждое свойство с историей). Последнее скорее не удобно, чем плохо, но если больше ничего не помогает, то рекомендую попробовать.

Процедура такая:
1. Делаем резервную копию базы данных (как минимум)
2. Останавливаем систему (циклы)
3. В config.php добавляем строчку

Код: Выделить всё

Define('SEPARATE_HISTORY_STORAGE',1);
4. Запускаем систему

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

Если эффекта нужного не дало, то можно сделать обратную операцию -- всё тоже самое, только в пункте 3 убираем добавленную строчку. В процессе запуска тогда данные снова соберутся в одну таблицу и все ранее созданные таблицы будут удалены.

В общем, попробуйте, но не забывайте про резервную копию, на тот случай, если что-то пойдёт не так.
Сделал
Как понять, что базы разделились?

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Чт сен 07, 2017 9:49 pm
sergejey
EvgenyG писал(а):Сделал
Как понять, что базы разделились?
Зайти в базу данных db_terminal через phpmyadmin и там будет очень много таблиц.

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Чт сен 07, 2017 10:06 pm
ILGAS
sergejey писал(а):
EvgenyG писал(а):Сделал
Как понять, что базы разделились?
Зайти в базу данных db_terminal через phpmyadmin и там будет очень много таблиц.
я попробовал, но теперь БД не хранит историю.

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Чт сен 07, 2017 10:18 pm
ILGAS
обманул, перестали работать графики. (charts)

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Пт сен 08, 2017 11:16 am
sergejey
ILGAS писал(а):обманул, перестали работать графики. (charts)
Сорри, забыл загрузить обновление модуля Charts. Обновите его и сейчас должно быть ок.

Re: Процесс mysqld.exe ест до 50% ЦП

Добавлено: Пт сен 08, 2017 11:51 am
ILGAS
sergejey писал(а):
ILGAS писал(а):обманул, перестали работать графики. (charts)
Сорри, забыл загрузить обновление модуля Charts. Обновите его и сейчас должно быть ок.
sergejey, все получилось, спасибо, возможно обновление или разделение таблиц.

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