运行 MySQL 在 RAMDisk 上

Running MySQL on RAMDisk

我正在加速使用 MySQL 持久性的测试套件。我已将 my.cnf 中的 datadirtmpdir 更改为使用 RAMDisk,如下所示。

datadir         = /run/shm/mysql
tmpdir          = /run/shm/mysqltemp

问题是每次我 运行 整个测试套件,在某些时候我 运行 当测试试图删除某些行作为功能的一部分时,我 运行 会违反外键约束测试。奇怪的是,当我不在 RAMDisk 上 运行 MySQL 或当我将 datadir 保留为默认值 /var/lib/mysql/ 但仅更改 [=15] 时,这不会发生=].我想 运行 在 RAM 中使用 datadir 进行测试,因为我注意到当我这样做时清理逻辑非常快。

有人可以帮助指出我在这里可能做错了什么吗?

你确定你有足够的 RAM 运行 MySQL 吗?此外,在 RAMDISK 上 不推荐 至 运行 MySQL。

说到优化。您应该使用 MEMORY 类型的数据存储,当然也可以 运行 在 SSD 上使用它。 HDD/SSD 之间的主要区别是 I/O 等待时间,这就是为什么现在有这么多服务器使用像 REDIS 这样的内存(缓存)数据库。

调查一下,祝优化顺利。