tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Mikusa <dmik...@pivotal.io>
Subject Re: Tomcat 7 to 8 Upgrade - Performance Degradation
Date Wed, 06 Aug 2014 11:52:42 GMT
On Tue, Aug 5, 2014 at 7:54 PM, Peter Rifel <prifel@mixpo.com> wrote:

> Hello,
>
> I am in the process of upgrading from Tomcat 7.0.54 to Tomcat 8.0.9 and am
> seeing some performance degradation in my webapp.
>
> Configuration info:
>
> Ubuntu 14.04.1 LTS
> java version "1.8.0_11"
> Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
> Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
>
> Both versions of tomcat use the APR Connector with TC Native 1.1.31
> statically linked against APR 1.5.1 and OpenSSL 1.0.1h
>
>
> I'm running identical requests to identical web apps between these tomcats
> and in Tomcat 8 I'm seeing an ~20% response time increase and as such a
> similar reqs / sec decrease.  After using VisualVM to profile the
> application I've narrowed it down to the JRE's JAXP library taking
> significantly longer to create its xml validation "SchemaFactory" which
> doesn't make sense to me because I'm using the same JRE in both tests.  I
> know that the Resources implementation was overhauled in Tomcat 8 so is
> there any possibility that this could be a side effect?  For a better idea
> of what I'm talking about, see the below VisualVM screenshots of a
> profiling snapshot's call tree:
>
>
> Tomcat 7 - http://i.imgur.com/pbX5xBG.jpg
> Notice how the time spent in the javax.xml.validation.* methods is <6%
>
> Tomcat 8 - http://i.imgur.com/Txv20lg.jpg
> Notice how the time spent in these methods is significantly higher.
>
>
> Again, I'm confused as to how the performance of the JRE's library changes
> between tomcat versions, can anyone explain this to me or point me in the
> right direction on where to look?  Is it as simple as a config change or
> will it require a java code change?  The XmlUtils.validate method you see
> in the screenshot is simply the following:
>
> javax.xml.validation.SchemaFactory factory =
> SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
>
> Here are the Tomcat configurations:
>
>
> Tomcat 8 server.xml: http://pastebin.com/Tn3d6bXd
> Tomcat 8 context.xml: http://pastebin.com/reuJCGNq
>
> Tomcat 7 server.xml: http://pastebin.com/Kq6SfFd0
> Tomcat 7 context.xml: http://pastebin.com/vdp0PGPh
>
>
> Does anyone have any idea why this might be performing so differently
> between versions of tomcat?  Could it be a bug in the JRE?  I can try and
> provide test code for repro if it helps.
>

Are you using the "endorsed" directory with Tomcat 7 (and not with 8) by
any chance?


http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html#XML_Parsers_and_Java

Dan


>
> Thanks in advance,
>
> Peter Rifel
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message