紧凑型闪存上的嵌入式 Web 服务器(mysql):如何减少读/写操作?

紧凑型闪存上的嵌入式 Web 服务器(mysql):如何减少读/写操作?

我用 ALIX 1D 开发了一个基于 debian lenny 的小型家庭自动化网络服务器。它运行非常顺畅,现在能够通过一个网络应用程序操作相当多不同的设备。

但我不确定该如何处理紧凑型闪存,考虑到读/写限制。

据我所知,分区应该是 ext2,这将不允许系统日志化。

存在一个用于“扁平化”写周期重新分区的实用程序,如果分区是 ext2 的话,使用它是否有意义?

我还将禁用执行模式下的所有日志记录(调试模式将提供日志)。为了实现最大可靠性,我是否需要考虑其他任何参数(即系统是否会随机写入某些文件以用于各种可能关闭的目的)?

至于 mysql 数据库,它不是重要数据,实际上每次服务器启动时都会重建它。鉴于此,有没有办法将数据库存储在 RAM 中而不是文件中?

我不确定这是否是提问的正确地方,但有时我会看到从堆栈溢出重定向到这里。

感谢您的阅读。PS:为什么似乎不可能在消息的最顶部添加基本的礼貌用语?

答案1

使用MEMORY存储引擎因为表会将其保存在内存中。

答案2

MEMORY 存储引擎是个好主意,但它有一些 MyISAM/InnoDB 所没有的限制。如果这不行,您可以随时从 tmpfs 挂载 mysql 数据目录。您需要注意的只是在挂载 tmpfs 后从备份中提取 mysql 表。例如(假设 mysql 数据 /var/lib/mysql)

  • 关闭mysql
  • 如果您尚未制作 mysql 数据目录的 tar,例如 cd tar -C /var/lib/mysql -czvf /tmp/mysql-data.tar 。
  • 安装 -t tmpfs 无 /var/lib/mysql
  • 解压数据: tar -C /var/lib/mysql -xvzf /tmp/mysql-data.tar
  • 重启 mysql

相关内容