ParNew 4x slower under 1.7 vs 1.6?

Andrew Mulholland anmulholland at expedia.com
Sat Sep 14 06:39:23 PDT 2013


Hi

Doing some more testing, jaxb 2.2.1->2.2.4-1 all perform well too.

Since 2.2.4 update 2 (which comes in JDK7 since 7u6) and 2.2.5 etc, we
experience poor performance.

It is our belief that r3670, which adds a finalizer method to the
Unmarshaller (which was an attempted fix for
https://java.net/jira/browse/JAXB-831 ) is the change which causes this
behavior.

We suspect that we're stressing the finalizer, as this app has a
reasonable amount of load, dealing with fairly large objects..


Thanks


Andrew



On 9/13/13 7:40 PM, "Bernd Eckenfels" <bernd.eckenfels at googlemail.com>
wrote:

>Hello,
>
>since the different workload from jaxb was very visible in your par-new
>times, I wonder if you can also research a bit in that direction: have
>been the average objectsize small or larger, has the object graph beeing
>deeper or more gc roots.
>
>I think having a heap dump of both jaxb versions with the same VM would
>be  
>a good start to compare? (I am not sure if there are statistic tools for
>the above numbers, but I guess the class histogram can give a good first
>answer)
>
>Greetings
>Bernd
>
>
>Am 13.09.2013, 17:53 Uhr, schrieb Andrew Mulholland
><anmulholland at expedia.com>:
>
>> Hi Jon
>>
>> Many thanks for your help in this.
>>
>> To close off this thread, Jon provided help to us in investigating this
>> issue.
>>
>> We conducted some tests which demonstrated it wasn't changes in the VM
>> causing our slowdown. (Jon directed me to create a sort of hybrid JVM by
>> copying the libjvm.so from 1.7.0_25 into a 1.6.0_43 JDK).
>>
>> We spent out time looking into what was different between 6 and 7
>>outside
>> of the JVM... and through a process of elimination identified that the
>> change in JAXB version from 2.1 to 2.2 which came with JDK7 was causing
>> the change in performance.
>>
>> By loading the jaxb 2.1 jars into our app, rather than relying on the
>> version provided by the JDK, we now see a similar level of performance
>> under JDK7 as we did under JDK6.
>>
>> (also for those interested by loading the jaxb 2.2 jars into our app, we
>> see the slowdown under JDK6 too).
>>
>>
>> We're investigating what the differences are between JAXB 2.1 and 2.2
>>and
>> how we use it, as suspect it could be (our) misuse of the library which
>> 
>> is
>> to blame here!
>>
>> Thanks
>>
>>
>> Andrew
>>
>>
>> Andrew Mulholland
>> Operations Architect
>> Expedia Affiliate Network
>> p: +44 (0)20 7019 2927 | m: +44 (0)77 1585 4475
>> e: anmulholland at expedia.com
>>
>>
>>
>> On 8/12/13 10:57 AM, "Andrew Mulholland" <anmulholland at expedia.com>
>> wrote:
>>
>>> Hi Jon
>>>
>>>
>>> On 8/12/13 5:50 AM, "Jon Masamitsu" <jon.masamitsu at oracle.com> wrote:
>>>
>>>>
>>>> I saw your response to  Bernd where you verified
>>>> the number of GC threads that you are using but the
>>>> amount of parallelism your getting still doesn't seem to
>>>> be right.  See below.
>>>
>>>
>>> Thanks - data below as requested:
>>>
>>>>
>>>> , 0.0989930 secs] [Times: user=0.46 sys=0.02, real=0.10 secs]
>>>>
>>>>
>>>>
>>>> About a 4 times speed up here (user / real ~ 4.6)
>>>>
>>>
>>> For JVM 1.6.0_43:
>>>
>>> 90% of ParNew Gcs had parallelism of at least: 5.17
>>> 75% of ParNew Gcs had parallelism of at least: 5.83
>>> 50% of ParNew Gcs had parallelism of at least: 6.71
>>> 25% of ParNew Gcs had parallelism of at least 7.66
>>> 10% of ParNew Gcs had parallelism of at least 8.5
>>>
>>> Average parallelism for ParNew Gs: 6.75 (stdev 1.21)
>>> Max Parallelism for ParNew GCs: 9
>>>
>>>
>>>>
>>>> , 0.4156130 secs] [Times: user=0.65 sys=0.02, real=0.42 secs]
>>>>
>>>>
>>>> Only about a 1.5 times speed up here (user / real ~1.5).
>>>
>>> For JVM 1.7.0_25:
>>>
>>> 90% of ParNew Gcs had parallelism of at least 1.53
>>>
>>> 75% of ParNew Gcs had parallelism of at least 1.63
>>> 50% of ParNew Gcs had parallelism of at least 2
>>> 25% of ParNew Gcs had parallelism of at least: 2.72
>>> 10% of ParNew Gcs had parallelism of at least: 5.32
>>>
>>> Average parallelism for ParNew GCs: 2.58 (stdev 1.51)
>>>
>>> Max Parallelism for ParNew GCs: 8.6
>>>
>>>
>>>
>>>
>>>
>>>>
>>>> Can you check some other entries and verify that the amount of
>>>> parallelism your seeing on 1.7 is only 1.5.
>>>>
>>>
>>>
>>>> From the above it seems that we do get higher than 1.5.. With jvm 1.7
>>>>-
>>> but it is consistently significantly lower than on jvm 1.6
>>>
>>> Thanks
>>>
>>>
>>> Andrew
>>>
>>> _______________________________________________
>>> hotspot-gc-use mailing list
>>> hotspot-gc-use at openjdk.java.net
>>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>>
>> _______________________________________________
>> hotspot-gc-use mailing list
>> hotspot-gc-use at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>
>
>-- 
>https://plus.google.com/u/1/108084227682171831683/about
>_______________________________________________
>hotspot-gc-use mailing list
>hotspot-gc-use at openjdk.java.net
>http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use



More information about the hotspot-gc-use mailing list