Встроенный веб-сервер (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
Другие вопросы по тегам