I am stress testing activemq 5.9.0 by sending a flood of non-persistent
messages to a topic using jmeter.

My producers are 50 threads attempting to deliver 1000 msgs/sec; each of
size 1K.  There is merely a 1 millisecond delay in between message sends.
There are 100 consumers on the topic.  It runs fine for 10-20 seconds or so,
then I see the consumer stop working and "GC overhead limit exceeded" errors
appear in the consumer's console  (Weirdly, monitoring the gc via visualvm
it does not seem like a massive gc event...). Looking at the heap dump from
the consumer client I see a large number of ActiveMQObjectMessage instances,
owned by the GC root ActiveMDSessionExecutor.messageQueue().

Is the consumer message dispatching simply falling badly behind incoming
message flow?  Can I tune the consumer somehow to compensate?  Or is this
just the expected failure mode for this scenario?


Thanks for any insights.

Sample output from the consumers:

Created the tree successfully using JMS_Subscribers_Forever.jmx                 
                                                                          
Starting the test @ Thu Feb 13 11:33:51 PST 2014 (1392320031599)                
                                                                          
Waiting for possible shutdown message on port 4445                              
                                                                          
summary +      0 in     5s =    0.0/s Avg:     0 Min:  5001 Max:  5001 Err:    
1 (0.00%) Active: 100 Started: 100 Finished: 0                            
summary +      0 in    35s =    0.0/s Avg:     0 Min:  4999 Max:  5006 Err:  
600 (0.00%) Active: 100 Started: 100 Finished: 0                            
java.lang.OutOfMemoryError: GC overhead limit exceeded                          
                                                                          
Dumping heap to java_pid3941.hprof ...                                          
                                                                          
Heap dump file created [654947324 bytes in 8.677 secs]                          
                                                                          
                                                                                
                                                                          
Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "ActiveMQ Session Task-1"                    
                    
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Logging Error: Unknown error writing event.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.

Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "ActiveMQ Transport:
tcp://server/172.55.33.120:61616@41330"
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: GC overhead limit exceeded.
See log file for details.




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Stress-testing-OOME-tp4677959.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to