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

Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 10:04 am
Ko/|xo3HUk
Доброго всем времени суток!
Нигде не нашел упоминаний о том какой максимальный размер базы данных может быть установлен, с каким размером БД спокойно справится Raspberry Pi 2B? Понятно что чем больше БД, тем она неповоротливей будет.
Для исследований решил сделать следующее: есть Ардуино Мега 2560, которая собирает данные с 13-ти датчиков тока + измеряет опорное напряжение и выдаёт время с момента запуска (uptime). Итого 15 переменных. Передаю эти 15 значений каждые 2 секунды на МЖД и сохраняю историю. Итог: через ~30 часов база встает колом с сообщениями:
СпойлерПоказать
Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '127.0.0.1' (111) in /var/www/lib/mysqli.class.php on line 109
Warning: mysqli_select_db() expects parameter 1 to be mysqli, boolean given in /var/www/lib/mysqli.class.php on line 111
Warning: mysqli_errno() expects parameter 1 to be mysqli, boolean given in /var/www/lib/mysqli.class.php on line 365
Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in /var/www/lib/mysqli.class.php on line 365
Fatal error: Call to a member function DbSafe() on a non-object in /var/www/lib/mysqli.class.php on line 463
При этом размер таблицы phistory ~18МБ.

Как можно посчитать - сколько переменных и с какой периодичностью можно сохранять в БД чтобы она не превышала допустимый размер? Где в свойствах БД можно указать её максимальный размер? Планируется ли стандартный модуль с RRD-базой данных?

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 11:00 am
zelevova
База ограничена размерами носителя на котором она располагается.
Когда итог наблюдается сам sql сервер еще живой?

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 11:07 am
Ko/|xo3HUk
Полуживой. Когда это происходит - phpmyadmin ещё работает, можно таблицы поправить/очистить, но несколько раз при очередном запросе к таблице процесс подвисал и приходилось через putty перезагружать малинку.

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 11:14 am
Ko/|xo3HUk
zelevova писал(а):База ограничена размерами носителя на котором она располагается.
Т.е. размером директории /tmp? Т.к. база в папке /tmp находится. SD-карта у меня на 32ГБ.

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 11:28 am
zelevova
Ko/|xo3HUk писал(а):Т.е. размером директории
Размером того раздела на котором расположена база.
Ko/|xo3HUk писал(а):при очередном запросе к таблице процесс подвисал и приходилось через putty перезагружать малинку.
А если перегружать не всю малинку а только процесс сервера sql?
После перезагрузки опять 30 часов нормально работает или нужно базу чистить?
Сколько свободного места остается на разделе с базой? Можно посмотреть командой df -h

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 11:49 am
Ko/|xo3HUk
Перезагрузка mysql не помогает. Перезагрузка малины - тоже. Только после того как очистил таблицу phistory - всё заработало, но прошло снова полтора суток - и опять веб-интерфейс рухнул. Свободного места в /tmp - 44%:
СпойлерПоказать

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

pi@raspberrypi /tmp/mysql $ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           30G  5.0G   23G  18% /
/dev/root        30G  5.0G   23G  18% /
devtmpfs        460M     0  460M   0% /dev
tmpfs            93M  528K   93M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           186M     0  186M   0% /run/shm
/dev/mmcblk0p1   56M   15M   42M  26% /boot
tmpfs           100M   56M   45M  56% /tmp
tmpfs            30M     0   30M   0% /var/tmp
tmpfs            20M   20M     0 100% /var/log
tmpfs           100M     0  100M   0% /var/cache/apt/archives
tmpfs            20M  108K   20M   1% /var/www/cached

pi@raspberrypi /tmp/mysql $ df /tmp/mysql/
Filesystem     1K-blocks  Used Available Use% Mounted on
tmpfs             102400 56704     45696  56% /tmp

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 12:02 pm
zelevova
Тут нужно ковырять в направлении: mysql и свободное место на разделе.
А оперативной памяти хватает под все временные файловые системы? Может место как бы еще числится, а реально записать не хватает места?
Еще место может резервироваться под нужды root пользователя. Можно пробовать каким-нибудь безправным пользователем туда скопировать файлов что бы под завязку /tmp забить.

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 1:22 pm
Ko/|xo3HUk
Вот кстати сейчас опять попробовал - не мог зайти даже в phpmyadmin. В веб-интерфейсе те же ошибки про mysql. Перезагрузка mysql помогла - смог зайти в phpmyadmin, веб-интерфейс поднялся. Очень долго не стартовали скрипты. Сервис majordomo перегружал - не помогает, циклы висят. Потом всё-таки стартанули, но через некоторое время опять ошибки про mysql.

Кстати, после перезапуска mysql - он жалуется на ошибки:
СпойлерПоказать

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

[spoiler=][code]pi@raspberrypi /tmp/mysql $ sudo /etc/init.d/mysql restart
[ ok ] Stopping MySQL database server: mysqld.
[ ok ] Starting MySQL database server: mysqld . ..
[info] Checking for tables which need an upgrade, are corrupt or were not closed cleanly..
 [/code][/spoiler]


Забил директорию (от юзера "pi") /tmp на 100% - mysql не смог подняться :)
СпойлерПоказать

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

pi@raspberrypi /var/www/saverestore $ sudo service mysql restart
[ ok ] Stopping MySQL database server: mysqld.
[FAIL] /etc/init.d/mysql: ERROR: The partition with /tmp/mysql is too full! ... failed! 

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 4:17 pm
zelevova
Ko/|xo3HUk писал(а):[info] Checking for tables which need an upgrade, are corrupt or were not closed cleanly..
Тут ругается что таблица какая то битая. Обычно это из-за внезапного обрушения сервера или отключения питания.
Ko/|xo3HUk писал(а):[FAIL] /etc/init.d/mysql: ERROR: The partition with /tmp/mysql is too full! ... failed!
Ну а вот тут конкретно на нехватку места ругается. До этого не ругался значит дело не в месте на разделе.

А если данные писать не каждые 2 секунды, а например каждые 4? за 60 часов падать будет или эти параметры не связанны?

Re: Максимальный размер базы данных

Добавлено: Чт дек 10, 2015 4:19 pm
Victor_S
Есть такая проблема с мажордомо. Если датчиков много и часто опрашиваем база растет и программа начинает просто жутко тормозить. Нужно во-первых четко решить какая информация и в каком объеме действительно необходима для хранения. И во-вторых, Сергей где-то выкладывал скрипт по оптимизации базы данных. Там нужно прописать свои условия и периодически запускать.