DefaultDS used in mysql-persistence cases uses a sql server on the network (1gbps). messages are sent as NON_PERSISTENT
Why would null-persistence be running slower?
You should explain what your test does and what your results mean.
The timing metrics are measured internally by the EJB that contains the method to send the message to JMS.
A message is generated by our application. This message is passed to the method above.
A JMS producer is initialised.
A message correlation ID is generated from the message.
A JMS consumer is initialised.
The message is sent to the jms provider (jbm), flagged as non-persistent.
stomp connect is running (bisocket) and a native app (C) receives the message, performs some actions, and then sends a response back to JMS via stompconnect, where the EJB that initially sent the message receives the response.
The response message contains the timing of the native app, and the EJB then subtracts this time from the total timing.
So the results posted are basically for initalising the producer, generating / getting the correlation ID, sending the message until the message hits the app, and then from the message being sent back to JMS until it is received by the EJB.
The results basically are showing the timing differences between JBM 1.4.0-SP3 configured with mysql-persistence (even though messages are sent as non-persistent), JBM 1.4.2-SP1 with mysql-persistence and JBM 1.4.2-SP1 configured with null-persistence.
Trying to understand why null persistence configuration consistently has significantly higher latency than mysql persistence configuration, even though messages are always marked as non-persistent.
10 requests is nowhere near enough for this to be statistically significant.
You should try again with several thousands (or 10s of thousands) of requests.
Let the test run for several minutes before taking results.
setting up jmeter for substantial testing.