KahaDB优化
来源:互联网 发布:c数据库入门经典 编辑:程序博客网 时间:2024/06/14 22:08
原文地址:http://fusesource.com/docs/broker/5.4/tuning/PersTuning-KahaDB.html
Overview:ActiveMQ的消息存储发生了一些演变,现在KahaBD 消息存储是默认的,也是推荐的存储机制。AMQ消息存储,和原kaha消息存储已经成为上一代的存储技术了。
KahaDB architecture:KahaDB技术架构(如图2.3所示)是为高速存取消息而设计的。数据的块存数在journal file中(数据日志文件)所有的Broker事件可以持续不断的增加进来,特别是消息也是存储在数据文件中。
Figure 2.3. KahaDB Architecture
B-tree index的设计是为了更快的把消息从日志文件中恢复出来,它包含一个指向日志文件中消息存储的位置的指针。完整的B-tree index存储在磁盘上,并且部分B-tree index被加载到内存中的缓存里面。显而易见的是如果B-tree index被全部加在到缓存中的话,那么效率会更高。
配置示例:
下面的示例演示了如何配置Broker使用kahadb存储,增加一个persistenceAdapter项,包含kahaDB元素。
<broker brokerName="broker" persistent="true" useShutdownHook="false"> ... <persistenceAdapter> <kahaDB directory="activemq-data" journalMaxFileLength="32mb"/> </persistenceAdapter></broker>
其中directory
指定了kahadb的存储位置,journalMaxFileLength
指定了日志文件的大小。
性能调优:你可以调整下面的几个选项来优化kahadb的性能。
indexCacheSize
- (默认为10000
) 设定缓存页的个数(一页默认情况下是4 KB),一般来说缓存的大小尽可能的设置大一些,以避免内存不足时频繁的交换。根据你的元数据文件(db.data
)来获得更多的灵感来设定缓存的大小。indexWriteBatchSize
—(default1000
) 设置脏索引(dirty indexe)(译者注:脏索引的个人理解是cache中的index和message store中的index状态不一样的都称为dirty)达到多少之后,就需要把索引存储起来。如果你想最大化broker的速度,那么就把这个值设置的尽可能的大一些,这样的话,仅会在到达checkpoint的时候,索引才会被存储起来。但是这样会增大系统出错的时候,丢失大量的元数据的风险。(导致borker重启的时候会非常慢)journalMaxFileLength
—(default32mb
) 当broker的吞吐量特别大的时候,日志文件会很快被写满,这样会因为频繁的关闭文件,打开文件而导致性能低下。你可以通过调整文件的size,减少文件切换的频率,从而获得轻微的性能改善。enableJournalDiskSyncs
—(defaulttrue
)通常,broker会在给producer确认之前,把消息同步到磁盘上(并且确保消息物化到磁盘上)。你可以通过设置这个选项为false,从而获得本质的性能改善。但是这样的话,多少会的降低broker的可靠性。
Warning:如果你需要满足JMS持久化的要求,并且确信你不想丢失数据化话,请不要关闭这个选项。
阅读全文
0 0
- KahaDB优化
- KahaDB配置
- KahaDB简介
- KahaDB简介
- ActiveMQ系列—ActiveMQ性能优化(下1)(消息存储方案 KahaDB)
- kahadb 默认属性配置
- KahaDB持久化性能
- Active MQ KahaDB Invalid location
- activeMQ 的kahadb存储引擎分析
- activeMQ 的kahadb存储引擎分析
- IBM TDI RMI - Slow KahaDB access: cleanup took <18058>
- Activemq数据安全机制——Activemq中的KahaDB消息日志的恢复机制
- ActiveMQ的kahadb写入消息性能测试(包括SSD硬盘)
- 优化
- 优化
- 优化
- 优化
- 优化
- R 语言 data.frame 添加行列
- 学习路径之机器学习(1)
- 【深度学习】笔记15 微软官方源码caffe的第一个测例Mnist训练运行配置
- kotlin学习(一)
- A
- KahaDB优化
- Cookie与Session机制,以及scrapy中cookiejar的理解
- java 不以科学记数法输出double
- c3p0三种配置方式
- Linux系统的延时及定时任务
- 集合(二)Map操作数据、Map、HashMap
- windows下cmd命令大全
- Unity如何实现在单例中做逐帧触发
- hdu 3696 Farm Game (拓扑排序)