Страница 1 из 2
База данных
Добавлено: Вт ноя 06, 2012 12:28 pm
Alex
Накопилось много вопросов по базе данных. Буду их тут потихоньку задавать.
Вопрос первый.
Десять датчиков, обновление 1 раз в минуту, срок хранения 1 сутки, процессор E350, 2 Гига ОЗУ, Windows 7. Загрузка процессора 70-80%. 8() Процессор больше ни чем не занят. Только сервер.
Какая нужна конфигурация, например, для 50 датчиков со сроком хранения 1 год? И вообще желательна таблица рекомендуемых конфигураций для разных нагрузок.
Re: База данных
Добавлено: Вт ноя 06, 2012 12:56 pm
sergejey
М... не должна быть такая загрузка. А какой именно процесс (по диспетчеру процессов) загружает больше всего?
Датчики 1-wire или какие-то другие?
Re: База данных
Добавлено: Вт ноя 06, 2012 1:24 pm
Alex
Процесс mysqld.exe.
Датчики отсылают по ethernet значения. MajorDoMo только принимает их и сохраняет в БД. Работает как сервер.
Re: База данных
Добавлено: Вт ноя 06, 2012 3:40 pm
sergejey
Alex писал(а):Процесс mysqld.exe.
Датчики отсылают по ethernet значения. MajorDoMo только принимает их и сохраняет в БД. Работает как сервер.
Как часто происходит обновление значений? Может быть проблема из-за того, что идут данные сплошным потоком и база данных просто перегружена?
Re: База данных
Добавлено: Вт ноя 06, 2012 4:33 pm
Alex
Десять датчиков обновляются по разу в минуту. В среднем 1 раз в 6 секунд. 14 графиков с глубиной 2 часа, разрешением 10 точек и автообновлением раз в 1-3 минуты. И всё. Система не тянет.
Перенёс на E5300@3Ghz — стало немного полегче, но не особо. Тут ещё проблема в том, что графики обновляются вне зависимости от того видны они или нет. Если бы автообновлялась только видимая страничка — было бы гораздо легче.
А так...
Убираем автообновление, где возможно.
Делаем кнопки «обновить страницу (график)».
Уменьшаем глубину графиков до 1 часа.
Уменьшаем разрешение (10 точек и больше).
Уменьшаем количество графиков.
Увеличиваем интервал рефреша (3-5-10 минут).
Покупаем i5.
Других методов медицина не знает.

Re: База данных
Добавлено: Вт ноя 06, 2012 4:56 pm
sergejey
А.. ясно. Я думаю, что в графиках как раз и затык. Т.е. если интерфейс вывода вообще закрыть, то система будет нормально работать. В выводе графиков как раз mysql и напрягается, т.к. каждая точка выбирается из большой таблицы phistory.
Для ускорения можно попробовать добавить индекс на поле VALUE_ID:
http://clip2net.com/clip/m1/1352210098-clip-21kb.png
Должно несколько ускорить выборку значений для графика.
Re: База данных
Добавлено: Вт ноя 06, 2012 6:14 pm
Alex
Индекс я создал. Стало ли лучше сказать трудно, на глаз не особо заметно.
А вообще вопрос важный. Что это за система для которой десяток графиков проблема? В реальности может быть сотня графиков и других визуальных элементов, активно работающих с БД. Тут нужна какая то оптимизация. Самым простым решением видится автоматическое обновление только тех элементов, которые видны на экране и запрет на автообновление невидимых элементов. Это реально организовать?
Re: База данных
Добавлено: Ср ноя 07, 2012 12:09 pm
sergejey
Обновление только видимых элементов не то, чтобы просто, но реально сделать. Сейчас графики на разных домашних страницах или на разных страницах сцен?
Re: База данных
Добавлено: Ср ноя 07, 2012 12:47 pm
Alex
Графики и в меню и на домашних страницах и в сценах. За меню не скажу, не выяснял, но домашние страницы и сцены — если стоит автообновление — обновляются постоянно. А это не нужно. Совсем. Бессмысленная и вредная трата ресурсов. Происходит бурная деятельность с загоном в ступор E5300@3GHz

, причём всё это на диске SATA3 с 64Mb кеша. Есть в этом что то очень неправильное.

Re: База данных
Добавлено: Пт ноя 30, 2012 2:20 am
Athom
Не совсем решение проблемы, но мне значительно помогло...
Попробуйте добавить индекс еще и по ADDED