当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – HornetQ中的消息属性有多大?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在使用HornetQ进行电子邮件发送. 使用对象存储系统在带外(而不是作为消息的一部分)发送文件附件.通过直接将它们放入消息属性,这增加了我想要避免小文件的开销. 我知道我可以发
我正在使用HornetQ进行电子邮件发送.

使用对象存储系统在带外(而不是作为消息的一部分)发送文件附件.通过直接将它们放入消息属性,这增加了我想要避免小文件的开销.

我知道我可以发送大量的邮件正文,但是对于大文件,对象存储效果很好,这是关于小文件的,如果有效,按属性值传递会非常方便.

消息属性值有哪些注意事项?我可以让它们成为100K字节数组吗?这会减慢(甚至打破)吗?

Headers,Properties和Body缓冲区本身都以相对简单的过程组合到消息的整体缓冲区中,因此从这个角度来看不应该存在重大的性能问题.您可以在此处查看核心实施:
https://github.com/hornetq/hornetq/blob/master/hornetq-core-client/src/main/java/org/hornetq/core/message/impl/MessageImpl.java

一个考虑因素是消费者窗口大小的大小,默认情况下只有1MB.这是将在消费者上缓冲的大小,因此如果您发送接近此大小的消息,则在等待消费者的数据时,读取性能可能会慢得多.这可以使用consumer-window-size参数进行更改.有关更多信息,请参见http://docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/flow-control.html#d0e4023.

从评论中提取,您可能还想增加日记大小和缓冲区大小.看到你可能接近极限.您可能希望将日志缓冲区大小设置得更大,以确保获得一些空间,并且可能也会增加日志本身的大小. http://hornetq.sourceforge.net/docs/hornetq-2.1.1.Final/user-manual/en/html/persistence.html#configuring.message.journal.journal-buffer-size和https://developer.jboss.org/thread/154423

网友评论