I have a webservice running on Coldfusion 10 64bit
. While investigating a memory leak I went to upgrade the JRE from 1.6 to 1.7 but noticed a significant performance hit. I had created a simple test webservice which on JRE 1.6 I could run easily at 5000 requests per minute as soon as I changed the JRE to 1.7 though this rate drops too 2000 or less per minute. Does anyone know of tuning settings or something I am missing.
The preference is to use JRE 1.7
as it appears to have fixed the memory leak issue I was having.
Running Server JRE: java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Garbage Collection in JVM settings:
-XX:+UseParallelGC
Changed Garbage Collection to :
-XX:+UseG1GC
this made no difference.
Followed the recommendations from here with no increase in performance. Will review with jvisualvm and post my findings.
Update: Java 7 has changed the way it deals with synchronizing class loaders and it looks like this may be the cause of the slowdown.
Update Adobe has acknowledged the bug and is looking to fix it. Adobe bug base record.