Hi We are currently experiencing database performance issues with an activeMQ JDBC datastore. The key components involved are as follows: - ActiveMQ 5.10 - MySQL 5.6.20
In terms of activeMQ, for resilience we have a simple master/slave setup with a load balancer directing traffic at the current master which in turn has the current lock on the shared non high performance journal database. DB performance issues happen in 2 key areas: 1. Number of DB transactions issued by activeMQ appear to be relatively high. For example in our test: a. A backlog of messages contained roughly 1000 messages. We had 10 offline subscribers. When the subscribers were brought back online and the messages were delivered we had an update for each message and subscription combination ie 10,000 updates being issued. Obviously scaling this to 100 users results in 100,000 updates etc. This behaviour, combined with the multitude of other transactions such as when a message is written to the broker all offline subscriptions are updated in the activeMQ_acks table eg for 100 offline subscriptions, 100 update statements are issued every time a message is received, results is a very high number of transactions being issued to the DB. 2. In turn the DB especially the replication aspect of this is struggling to keep up. So initially 2 questions: 1. Is there any configuration to reduce or tune the number of transactions issued to the DB. 2. Would a different datastore strategy provide better performance in terms of persistence eg a. High performance journaled JDBC (MySQL) (would just need a solution to replicate the journal) b. File based datastore eg replicated level DB store with zookper. Inputs would be greatly appreciated. -- View this message in context: http://activemq.2283324.n4.nabble.com/Slow-MySQL-datastore-performance-tp4703223.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.