我在 master-master 设置中测试 Tokyo Tyrant,发现 ulog 失去控制并锁定了磁盘。
起初我发现 -ulim 选项很有用并且限制了日志文件的大小,但是它只是滚动到一个新日志,让旧日志使分区变得混乱。
我想我会写一个 shell 脚本来删除早于 X 的 ulog,一旦我发现 Tokyo Tyrant 在更新日志中需要多远才能进行故障转移。
有没有人有这个东京暴君的经验?对于最佳 ulog 大小与 Tokyo Tyrant 实例需要在 ulog 中查看多远才能假定主状态,您是否有感觉(承认每次安装都基于所存储的内容而有所不同)?
谢谢,内森
只是为了跟进,下面是 Mikio Hirabayashi(TT 开发人员)对措辞相似的电子邮件的回复:
运行该命令将允许您查看从属设备落后于主设备多远。一旦你知道你可以花一些时间找到正确的 ulog 转换大小和返回多少 ulog 文件,你就可以丢弃并感到安全。可能最好在模拟东京暴君键/值数据库等的繁重一天的负载下进行。
我厚颜无耻地从 stackoverflow 中抄袭了一个脚本:
@kubanskamac 的答案在抽象上是正确的,但 Mikio 给出了开始优化的命令。
仅供参考,我编写了一个考虑复制延迟的 ulog 管理脚本:
http://conigliaro.org/2010/04/28/tokyo-tyrant-update-log-ulog-management/
免责声明:这是我第一次听说东京暴君。我只是在查看文档时看到了一些熟悉的模式。
在我所知道的事务系统(例如数据库)中,注意两种类型的意外事件:
每个日志通常会经历三个存在阶段:
我不知道如何弄清楚你的哪些 ulog是由东京暴君犯下的。但也许这个总体大纲会有所帮助。