База данных

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

Модератор: immortal

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

База данных

Сообщение Alex » Вт ноя 06, 2012 12:28 pm

Накопилось много вопросов по базе данных. Буду их тут потихоньку задавать.

Вопрос первый.

Десять датчиков, обновление 1 раз в минуту, срок хранения 1 сутки, процессор E350, 2 Гига ОЗУ, Windows 7. Загрузка процессора 70-80%. 8() Процессор больше ни чем не занят. Только сервер.

Какая нужна конфигурация, например, для 50 датчиков со сроком хранения 1 год? И вообще желательна таблица рекомендуемых конфигураций для разных нагрузок.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: База данных

Сообщение sergejey » Вт ноя 06, 2012 12:56 pm

М... не должна быть такая загрузка. А какой именно процесс (по диспетчеру процессов) загружает больше всего?
Датчики 1-wire или какие-то другие?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: База данных

Сообщение Alex » Вт ноя 06, 2012 1:24 pm

Процесс mysqld.exe.

Датчики отсылают по ethernet значения. MajorDoMo только принимает их и сохраняет в БД. Работает как сервер.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: База данных

Сообщение sergejey » Вт ноя 06, 2012 3:40 pm

Alex писал(а):Процесс mysqld.exe.

Датчики отсылают по ethernet значения. MajorDoMo только принимает их и сохраняет в БД. Работает как сервер.
Как часто происходит обновление значений? Может быть проблема из-за того, что идут данные сплошным потоком и база данных просто перегружена?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: База данных

Сообщение Alex » Вт ноя 06, 2012 4:33 pm

Десять датчиков обновляются по разу в минуту. В среднем 1 раз в 6 секунд. 14 графиков с глубиной 2 часа, разрешением 10 точек и автообновлением раз в 1-3 минуты. И всё. Система не тянет.

Перенёс на E5300@3Ghz — стало немного полегче, но не особо. Тут ещё проблема в том, что графики обновляются вне зависимости от того видны они или нет. Если бы автообновлялась только видимая страничка — было бы гораздо легче.

А так...

Убираем автообновление, где возможно.
Делаем кнопки «обновить страницу (график)».
Уменьшаем глубину графиков до 1 часа.
Уменьшаем разрешение (10 точек и больше).
Уменьшаем количество графиков.
Увеличиваем интервал рефреша (3-5-10 минут).
Покупаем i5.

Других методов медицина не знает. :)
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: База данных

Сообщение sergejey » Вт ноя 06, 2012 4:56 pm

А.. ясно. Я думаю, что в графиках как раз и затык. Т.е. если интерфейс вывода вообще закрыть, то система будет нормально работать. В выводе графиков как раз mysql и напрягается, т.к. каждая точка выбирается из большой таблицы phistory.
Для ускорения можно попробовать добавить индекс на поле VALUE_ID:
http://clip2net.com/clip/m1/1352210098-clip-21kb.png

Должно несколько ускорить выборку значений для графика.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: База данных

Сообщение Alex » Вт ноя 06, 2012 6:14 pm

Индекс я создал. Стало ли лучше сказать трудно, на глаз не особо заметно.

А вообще вопрос важный. Что это за система для которой десяток графиков проблема? В реальности может быть сотня графиков и других визуальных элементов, активно работающих с БД. Тут нужна какая то оптимизация. Самым простым решением видится автоматическое обновление только тех элементов, которые видны на экране и запрет на автообновление невидимых элементов. Это реально организовать?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: База данных

Сообщение sergejey » Ср ноя 07, 2012 12:09 pm

Обновление только видимых элементов не то, чтобы просто, но реально сделать. Сейчас графики на разных домашних страницах или на разных страницах сцен?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: База данных

Сообщение Alex » Ср ноя 07, 2012 12:47 pm

Графики и в меню и на домашних страницах и в сценах. За меню не скажу, не выяснял, но домашние страницы и сцены — если стоит автообновление — обновляются постоянно. А это не нужно. Совсем. Бессмысленная и вредная трата ресурсов. Происходит бурная деятельность с загоном в ступор E5300@3GHz :), причём всё это на диске SATA3 с 64Mb кеша. Есть в этом что то очень неправильное. :)
Athom
Сообщения: 17
Зарегистрирован: Ср ноя 21, 2012 2:05 am
Благодарил (а): 0
Поблагодарили: 0

Re: База данных

Сообщение Athom » Пт ноя 30, 2012 2:20 am

Не совсем решение проблемы, но мне значительно помогло...

Попробуйте добавить индекс еще и по ADDED
Ответить