Having some performance challenges with what should be a manageable load for our infrastructure. I’ve put in a support request for this but was curious if others might have seen this type of behavior. Here are the details:
The end result: During load testing the Integration Server appears to pause at different intervals while processing the documents. It starts off handling the load with no problems(actually very fast) but degrades over time. This slow down starts the queues in the broker to start backing up and eventually the throughput is not met.
What I have observed: The slow down is not processor bound or IO bound. Resources are not fully utilized. In fact during the slow down or pause the processor utilization actually drops by 20%. The IS server is not thread starved, only using about 10 - 15% of the available threads. During these pauses it appears that certain thread activity is suspended or even goes away but then resumes.
What I have tried: Tweaking trigger refill levels, number of concurrent threads for trigger processing, database connection pools, audit settings, JVM memory sizes, Solaris file descriptors.
I have also enable verbose GC debugging on the JVM. I do not see any major collections going on during the run, but there are a lot minor collections. Should I try tweaking the young generation size settings? Would that cause this pause?
-Server: Sparc 4(1.2Ghz) x 8GB, SAN Storage for Broker
-Integration: JDBC Adapter Notification, MQ Adapter, Mainframe Adapter. The integration consists of one put to an mq queue, a listener for responses, a mainframe transaction invoke and several broker publishes.
Any ideas are appreciated, thanks.