You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by HellKnight <he...@foxmail.com> on 2013/10/17 04:50:22 UTC

Could LevelDB improve performance when sending messages to composite destinations ?

   It was said "A send to a composite destination only stores the message on
disk once." in  this post
<http://stackoverflow.com/questions/11769508/anyone-used-leveldb-store-for-activemq-message-persistence> 
. I am using virtual topics and bothered by performance issues ,so I changed
kahaDB to LevelDB. 
    However it does not work out as I expected. The good thing is LevelDB is
faster than KahaDB in terms of writing/reading from HardDisk, it took much
less time to send a persistent message from a producer to a queue. However,
if you send a persistent message to a virtual topic , the time that it will
take is correlated to the numbers of queues that mapped to this virtual
topic.In other words , the time is correlated to the times that the message
shall be copied. 
    This phenomenon makes me confusing. If any message send to a composite
destination will be stores on disk once, then no matter how many physical
queues are mapping to a virtual topic, the time that it will take to send
this message should be all the same. If it took me 1ms to send a message to
VitualTopic.Test when there are only one consumer, I think it will still
take 1ms to send the same message when there are 1000 consumers. After all,
the message will only be stored on disk once and I think writing to disk is
the most time-consuming step if you are sending persistent messages. Is
there anything I should configure while using LevelDB to gain the
performance I expected ? Thanks a lot for any help.




--
View this message in context: http://activemq.2283324.n4.nabble.com/Could-LevelDB-improve-performance-when-sending-messages-to-composite-destinations-tp4672906.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.