Встроенный веб-сервер (mysql) на компактной флэш-памяти: как уменьшить количество операций чтения / записи?
Я разработал крошечный веб-сервер для домашней автоматизации из ALIX 1D на основе Debian Lenny. Он работает очень плавно и теперь может работать с большим количеством различного оборудования из веб-приложения.
Но я не уверен, как мне следует обращаться с компактной флэш-памятью относительно ограничений чтения / записи.
Из того, что я прочитал, разделение должно быть ext2, что запретило бы журнализацию системы.
Существует утилита для "сглаживания" перераспределения циклов записи. Будет ли уместно использовать ее, если раздел является ext2?
Я также отключу все журналы в режиме выполнения (режим отладки предоставит журналы). Есть ли какие-либо другие параметры, которые я должен принимать во внимание для максимальной надежности (то есть, система случайным образом записывает в некоторые файлы для различных и потенциально отключенных целей)?
Что касается базы данных mysql, это не важные данные, и они фактически восстанавливаются каждый раз при загрузке сервера. Учитывая это, есть ли способ хранить БД в оперативной памяти, а не в файле?
Я не уверен, что это правильное место, чтобы спросить, но я иногда вижу перенаправление сюда из-за переполнения стека.
Спасибо, что прочитали. PS: Почему кажется невозможным добавить базовую вежливость в самом начале сообщения?
2 ответа
С использованием MEMORY
механизм хранения для таблицы будет держать его в памяти.
Механизм хранения MEMORY - хорошая идея, но у него есть некоторые ограничения, которых у MyISAM/InnoDB не будет. Если это плохо, вы всегда можете смонтировать каталог данных mysql из tmpfs. Все, что вам нужно, - это извлечь таблицы mysql из резервной копии после монтирования tmpfs. Например (предположим, MySQL данных / VAR / Lib / MySQL)
- отключение mysql
- если вы еще не сделали tar из каталога данных mysql, например, cd tar -C / var / lib / mysql -czvf /tmp/mysql-data.tar.
- mount -t tmpfs нет / var / lib / mysql
- распаковать данные: tar -C /var/lib/mysql -xvzf /tmp/mysql-data.tar
- перезапустите MySQL