运行 MySQL 在 RAMDisk 上
Running MySQL on RAMDisk
我正在加速使用 MySQL
持久性的测试套件。我已将 my.cnf
中的 datadir
和 tmpdir
更改为使用 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 这样的内存(缓存)数据库。
调查一下,祝优化顺利。
我正在加速使用 MySQL
持久性的测试套件。我已将 my.cnf
中的 datadir
和 tmpdir
更改为使用 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 这样的内存(缓存)数据库。
调查一下,祝优化顺利。