We have an application deployed to Tomcat 7 elasticbeanstalk (we have also tried tomcat 8). When we configure the application is using the JDBCStore to back up sessions (RDS) we see fluctuations in performance during a load test, which go away when the JDBCStore is removed.
Here's a graph of requests from the ELB (load balancer) when using the JDBCStore
Here's a graph of request count using the same infrastructure when JDBCStore isn't used.
We have the following JVM options set (we have tested removing some or all of them).
-Xmx1024m -Xms1024m -Djava.awt.headless=true -Duser.timezone=Europe/Dublin -XX:ReservedCodeCacheSize=256m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Dorg.apache.catalina.session.StandardSession.ACTIVITY_CHECK=true
Why would performance suffer so much under load when the JDBCStore is introduced?
This issue was caused by the NAT in our VPC and not by the JDBCStore