文章
Hao Ma · 八月 10 阅读大约需 4 分钟

关于如何管理和减少Ensemble系占用空间的一些策略

我们中的许多人在几年前安装了Ensemble,估计空间是足够的,但现在却遇到了意外--硬盘已经满了!我们可以看看我们可以采取哪些措施来调查发生了什么,然后如何减少所占用的空间。 让我们来看看我们可以采取哪些措施来调查发生了什么,然后如何减少占用的空间。

是什么占用了Ensemble的空间?
让我们来看看在Ensemble中占用空间的东西的清单。

  1. Ensemble安装。
  2. 备份文件
  3. 日志文件
  4. Ensemble数据库。
  5. 流文件。
  6. 自定义应用程序文件

让我们逐一来看看这些文件。

Ensemble安装占用的空间

这是一个相对较小的空间,取决于版本,大约为1GB。如果你想减少它,你有可能删除一些开发包或第三方连接驱动ODBC/JDBC。你可以通过改变安装选项来做到这一点,见Ensemble安装手册。

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...

备份文件占用的空间

那么你的磁盘空间被备份文件占用了?如果是这样的话,就应该想想你的系统是否设置得好。备份文件应该放在与Ensemble数据库不同的物理磁盘上,因为如果Ensemble磁盘发生故障,你想从没有发生故障的不同磁盘上恢复它。其次,创建备份会对运行中的Ensemble产生性能上的影响--你也想避免这种情况。因此,总的来说,备份应该在不同的远程磁盘上,因此它们的空间不会占用你的Ensemble系统。

日志文件占用的空间

和备份一样,如果你的Ensemble系统设置得很好,日志文件应该和数据库文件放在不同的磁盘上。你希望通过独立于数据库文件写入日志的可能性来获得充分的性能,你希望避免出现一个磁盘故障就会导致你丢失数据库和日志的情况。如果你把它们放在同一个物理磁盘上,请确保读取良好。

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...

Ensemble数据库占用的空间

每个Ensemble数据库都保存在cache.dat文件中。如果你发现这些文件占用了你大部分的磁盘空间,首先要做的是查看数据库列表,看看数据库文件究竟被占用了多少。让我们按照使用管理门户检查空间的文件来做。

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...

那么,我们怎么会有自由空间呢?很可能是你的Ensemble系统收到了正在存储的信息,由于cache.dat中没有空间,文件大小被扩大。只要有新的信息进来并且没有被删除,文件就会不断增大。在某些时候,你可能已经清除了邮件,空间被释放了。

如果数据库中有空闲空间,该怎么办?第一件事是决定你是否真的需要和应该做什么。如果你的系统会定期收到比通常数量更多的信息,之后会被清除,可能你想保留自由空间以备下次信息数量激增时使用。这个空间将被保留,你的系统将为下一次做好准备。

如果这种事件是不寻常的,例如由于压力测试,你可能想减少数据库文件。关于如何回收自由空间,请参考最后一个文档链接。

好了,我的数据库已经满了,而且还在增长,那怎么办?让我们先检查一下是什么在占用空间。你可以使用GSIZE来获得准确的数字。

DO ^%GSIZE
这将需要一些时间,取决于数据库的大小,可能是几分钟或几个小时。 你会看到global的清单和它们所占用的空间。该怎么做取决于global的类型。

诊断性global,如ERRORS、%ISCLOG等
很可能你启用了一些诊断性的日志工具(%ISCLOG)。如果是ERRORS,请查看应用程序日志,看看有哪些错误被记录下来并填满了global。

在解决了错误原因和/或禁用了日志记录之后,你就可以杀掉这些globals。

应用程序特定的global
如果是你的应用程序创建了global或填充了某些表,请检查原因。如果需要的话,可以对其进行纠正。

Ensemble信息
如果globals与Ensemble消息相对应,你需要检查它们的管理是否正确,包括正确的清除。这里有一个单独的帖子,可以帮助你解决这个问题。

https://community.intersystems.com/post/ensemble-orphaned-messages

流文件所占用的空间

最有可能的是,流是没有被清除的信息的一部分。请按照前面的链接检查信息管理和清除。如果你的Ensemble是2014年以前的,请计划升级,因为它可能在清除信息流方面有问题。

自定义应用程序文件占用的空间
除了流之外,你的应用程序可能会在磁盘上创建任何外部文件。如果发生这种情况,审查你的逻辑,确保它们在不需要时被清理。如果它们与消息有关,可以考虑使用流来代替。

0
0 50
讨论 (0)1
登录或注册以继续