Код в https://github.com/maxant/share/blob/master/DBJMSPerf/src/JMSWriter.java пишет BytesMessages локальному серверу ActiveMQ.Улучшение производительности записи ActiveMQ
Я управляю только 200 сообщениями в секунду (< 5 миллисекунд за сообщение).
Используя код на https://github.com/maxant/share/blob/master/DBJMSPerf/src/DBWriter.java, который следует очень похожей схеме, я могу написать более 500 сообщений в секунду для базы данных.
В обоих случаях я обрабатываю транзакции самостоятельно, потому что я хочу имитировать фиксацию после каждого сообщения, и я повторно использую соединение, так как хочу имитировать объединение пулов.
Я использую режим постоянной доставки в примере JMS, потому что я пытаюсь проанализировать конструкцию с высокой доступностью - сообщения не могут быть потеряны.
В http://activemq.apache.org/performance.html они цитируют сообщения в десять раз быстрее, чем я могу.
Как повысить производительность сервера ActiveMQ?
Использование OpenMQ (https://mq.java.net/) производительность еще хуже, позволяя мне писать около 150 сообщений в секунду. –
Удаление режима постоянной доставки и транзакций из JMSWriter повышает производительность, так что он может записывать до 300 сообщений в секунду, но все же гораздо меньше, чем рекламируется. –