这样做是否存在风险:
vmtouch -dl /mysql-data-folder
在具有 192GB RAM 和 50GB mysql 数据文件夹的生产服务器上。
什么是 vmtouch?
人虚拟触摸
vmtouch 打开命令行上提供的每个文件,并使用 mmap(2) 将其映射到虚拟内存中。映射以只读方式打开。它递归地爬行任何目录并对在其中找到的所有文件执行相同的操作。
(tx @ipor 指出我应该包含 man vmtouch )
我的目标是:
实现更快的sql查询。我认为将 mysql 数据文件夹保留在 Linux 缓存中将使读取速度比 SSD 快 10 倍。当数据可以更快地读取时,查询将更快地返回结果,其他一切都相同。
我的问题是:
如果我将 mysql 数据文件夹保留在 Linux 缓存中,是否会增加数据丢失的机会?
我的意见是:
不
我的推理是:
写入没有风险,因为同步将由 mysql 调用并且数据将写入磁盘。
意外停机的概率有多大?
这是一台生产服务器,在过去 1 年里,由于托管设施断电,该服务器发生了 2 次意外关闭。
在这两种情况下mysql都没有错误。
我想确保我不会增加数据丢失的风险。
答案1
man vmtouch
:
vmtouch 打开命令行上提供的每个文件,并使用 mmap(2) 将其映射到虚拟内存中。映射已打开只读。它递归地爬行任何目录并对在其中找到的所有文件执行相同的操作。