MemSQL服务器占用大量磁盘空间

时间:2016-06-22 06:34:40

标签: diskspace memsql

我有一个MemSQL服务器,其中的所有表中都有大约1 MB的数据。其中也使用非常低的可接受内存使用量。但问题是服务器最近耗尽了磁盘空间。 查看更多详细信息时,我可以找到以下磁盘空间使用情况。

52G     /var/lib/memsql/master-3306/plancache/
34G     /var/lib/memsql/leaf-3307/plancache/

包含许多文件,如下所示

  

Select_digin_componentheader_72f4f4454iusudf9sdf98tkjnm432436thss4dgfdhjfd45tr44.cc   Select_digin_componentheader_72f4f4454iusudf9sdf98tkjnm432436thss4dgfdhjfd45tr44.ok   Select_digin_componentheader_72f4f4454iusudf9sdf98tkjnm432436thss4dgfdhjfd45tr44.so

其中digin_componentheader是我们的一个表名,并且其他表也存在上述文件。我们做了很多次插入,但是我们在5分钟之后将它们删除,这是我们已经做了6个月的唯一操作。

我们没有更改任何配置,它在memsql server中具有所有默认配置。 任何人都可以解释为什么它需要90GB来存储它?或者是任何配置问题?

2 个答案:

答案 0 :(得分:2)

这是MemSQL为每个查询创建和编译的代码。基于plancache目录的内容,您运行的是MemSQL 4.我建议升级到不使用g ++编译查询的MemSQL 5。

答案 1 :(得分:2)

MemSQL不会自行删除plancache中的文件。他们需要运行查询。对于您可能不再运行的查询(或ALTER表操作之后),旧的\ stale文件会随着时间累积。您可以在服务器停止时删除plancache目录的内容(当MemSQL运行时不要这样做)。重新启动后,MemSQL将在第一次运行查询时重建所需的任何文件。请注意,这将使重启后第一次执行查询变慢(代码生成成本 - 这在MemSQL 5中要快得多)。