文章
· 九月 14, 2022 阅读大约需 2 分钟

集成平台实例中有哪些文件在占用磁盘?

  1. 系统文件

系统文件根据版本不同,大约会占用1GB左右的空间。这部分空间是不能省略的,随意删除文件会导致实例无法正常运行。

  1. 备份文件

备份文件应及时转存到另外的磁盘或磁盘分区上,不应与.DAT数据库占用相同的磁盘分区。

  1. Journal日志

Journal日志文件存储路径应设置为与.DAT数据库存储路径不同的磁盘或磁盘分区上,不应与.DAT数据库占用相同的磁盘分区。

  1. 消息存储

因为HSHC集成平台设计上不支持过多的消息存储,用户应该为每个有消息流量的命名空间配置定期消息清除任务。

定义消息清除任务时 “BodiesToo”默认是没有选择的,需要手动选择。系联软件研发核心认为我们的软件不能在客户不知情的情况下自动删除客户自定义的数据,消息也属于客户自定义的数据,所以默认选项只会删除Message Header,不会删除消息本身。但是保留默认值运行清除消息任务就会导致孤立消息(指不存在配套Message Header的消息对象)的问题。BodiesToo=0也是孤立消息产生的主要原因之一。有关孤立消息的常见问题会在之后的文章做进一步讨论。

另一个消息清除任务选项“KeepIntegrity”默认是打开的。如果您需要保留“Queued”,“Suspended”,“Deferred”等未完成所有操作的消息,请保持打开。如果不需要可以关闭。

具体保留多少天的消息(清除周期)可以根据平台业务需求和消息量综合考量决定。

如果.DAT数据库文件过大,应当通过^%GSIZE工具排查具体哪些global占用了较多空间,然后去排查具体global过大的原因。注意,当数据库达到TB量级时就较难维护了,^%GSIZE工具也需要很长的运行时间。请尽量在数据库达到TB量级前就开始排查问题。如已知数据库较大仅仅是因为消息的量较多,请尽早计划将production拆分或将自定义global转到其他.DAT数据库中并配置相应的映射。

  1. Stream流数据

HSHC平台内置的消息如果有嵌套的流数据,消息定义里面会有相应的%OnDelete()逻辑在消息本身被删除的时候同时删除嵌套的流数据。如果发现有大量的流数据存在于实例安装路径下(文档类流数据filestream)或者数据库中(global类流数据globalstream,一般存在于 *S global中),并且创建时间超过了定期清除任务的清除周期,就需要排查这些流数据是由哪些进程创建的,并对进程的代码进行复盘,找到创建逻辑并增加相应的删除逻辑。

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