tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jerry Lampi <...@sdsusa.com>
Subject Re: Enabling protocol="org.apache.coyote.http11.Http11NioProtocol" causes tomcat 6.0.36 to load web page elements
Date Fri, 12 Jul 2013 21:43:36 GMT
On Fri, Jul 12, 2013 at 4:21 PM, André Warnier <aw@ice-sa.com> wrote:

> Jerry Lampi wrote:
>
>> On Fri, Jul 12, 2013 at 2:27 PM, Christopher Schultz <
>> chris@christopherschultz.net> wrote:
>>
>>  -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA256
>>>
>>> Jerry,
>>>
>>> On 7/12/13 2:16 PM, Jerry Lampi wrote:
>>>
>>>> When we switched from tomcat 6.0.35 to 6.0.36, the initial load of
>>>> our sign on page became extremely slow.  In 6.0.35, it would load
>>>> in about 2 seconds; in 6.0.36, it loads in about 60 seconds.
>>>>
>>> Can you be more specific? Is it the "sign-in page" resource that takes
>>> 60-seconds to load, or do you mean the sign-in page plus all of its
>>> associated resources (graphics, css, applets, etc.)?
>>>
>>>  The sign on page plus all of its associated resources.  There are 27
>> page
>> resources.  3 of them (vipIndexPageAnim.gif, vip.js, and !xRefArgsIds.js)
>> are
>> slow.  Here is the Fiddler trace:
>> #   Result  URL                               Body  Overall_Elapsed
>> ResponseSize
>> 1   302     /sdsvip                              5
>> 00:00:00.0150009            156
>> 2   200     /sdsvip/                         1,443
>> 00:00:00.0050003           1669
>> 3   200     /sdsvip/index0.html              3,964
>> 00:00:00.0070004           4190
>> 4   200     /sdsvip/ivorybkg.gif            18,659
>> 00:00:00.0100005          18887
>> 5   200     /sdsvip/vipIndexPageAnim.gif    63,007
>> 00:00:06.1323508          63235
>> 6   200     /sdsvip/sdsLogo.120.gif          2,239
>> 00:00:00.0090005           2465
>> 7   200     /sdsvip/ivorybkg.gif            18,659
>> 00:00:00.0100006          18887
>> 8   200     /favicon.ico                     2,102
>> 00:00:00.0070004           2303
>> 9   200     /sdsvip/servlets/SDSM0100        6,414
>> 00:00:00.0160009           6691
>> 10  200     /sdsvip/vip.css                  1,611
>> 00:00:00.0090005           1836
>> 11  200     /sdsvip/vip.js                  50,982
>> 00:00:07.1194072          51216
>> 12  200     /sdsvip/helpVip/_js.js           6,409
>> 00:00:00.0080004           6641
>> 13  200     /sdsvip/spawnControl.js          8,513
>> 00:00:00.0100005           8745
>> 14  304     /sdsvip/ivorybkg.gif                 0
>> 00:00:00.0090005            122
>> 15  304     /sdsvip/ivorybkg.gif                 0
>> 00:00:00.0090005            122
>> 16  200     /sdsvip/helpVip/!tools.js       34,950
>> 00:00:00.0190011          35184
>> 17  200     /sdsvip/helpVip/_adminParms.js     658
>> 00:00:00.0080005            888
>> 18  200     /sdsvip/helpVip/_userParms.js      257
>> 00:00:00.0080005            487
>> 19  200     /sdsvip/helpVip/!xRefArgsIds.**js 54,828
>> 00:00:07.9134526          55062
>> 20  200     /sdsvip/VipSignOnApplet.jar     63,235
>> 00:00:00.0120006          63457
>> 21  200     .net  /Root.crl                    469
>> 00:00:00.1480085             837
>> 22  200     .net  /primobject.crl              460
>> 00:00:00.1270072             828
>> 23  200     .net  /ObjectSign.crl           16,253
>> 00:00:00.1470084           16623
>> 24  200     /sdsvip/resources.jar          232,214
>> 00:00:00.0500029          232405
>> 25  200     /sdsvip/commons-codec-1.4.jar   31,883
>> 00:00:00.0080005           32105
>> 26  200     /sdsvip/log4j.jar              154,491
>> 00:00:00.0550031          154714
>> All but three files are received at the browser well under sub-second.  As
>> previously stated, the jar files, which are pretty big, also are received
>> sub-second.  this is curious to me and may be a clue to amore
>> knowledgeable
>> person.
>>
>>
>>
>>  Our environment is an IBM mainframe running z/OS.  Tomcat runs
>>>> under USS (Unix System Services).  The JVM version is java version
>>>> "1.6.0" Java(TM) SE Runtime Environment (build
>>>> pmz3160sr13-20130207_01(SR13))**.
>>>>
>>>> When we remove the
>>>> protocol="org.apache.coyote.**http11.Http11NioProtocol" from the
>>>> server.xml, the page loads in about 2 seconds -- the same a tomcat
>>>> version 6.0.35.
>>>>
>>> Is this over SSL or not?
>>>
>>>  Not SSL.
>>
>>  Does every page-load take 60-seconds or only the first time? What
>>> about other pages?
>>>
>>>  Initial loads for each page are slow.  Once a page element has been
>> cached
>> by the browser, the page loads instantly (i.e., when the web server
>> responds with a 304 result code: Not Modified).
>>
>>  So I have narrowed this down to one configuration change.  We need
>>>> to have NIO enabled, as we use Netty to do some of our IO;
>>>> therefore, leaving the option disabled is not possible for us.
>>>>
>>>> I ran Wireshark against 6.0.35 and 6.0.36 with NIO enabled hoping
>>>> to see a large discrepancy in the number of packets sent, but the
>>>> packet counts were very similar.
>>>>
>>>> I ran Fiddler and did see that files over 50KB in size were the
>>>> slow ones; oddly, jar files (we have a swing applet on our sign on
>>>> page) that were much larger than the slower .gif and .js files,
>>>> were served very quickly.
>>>>
>>> Are you using compression of any kind? Do you have sendFile enabled?
>>>
>>>  No compression for basic resources (that is, no compression keywords
>> found
>> in server.xml).  We do have a servlet named ContentType we use for
>> processing pack200 jar files.  This is configured I the web.xml as
>> follows:
>> <servlet-mapping>
>>       <servlet-name>ContentType</**servlet-name>
>>       <url-pattern>*.jar</url-**pattern>
>> </servlet-mapping>
>>
>> sendFile is not enabled.
>>
>
> Pity. That /would/ have been a clue..
>
>
>
>> Here is a screencast showing the slow load to give you some context to the
>> Fiddler trace:
>> http://screencast.com/t/**zmJtsCvgpzTw<http://screencast.com/t/zmJtsCvgpzTw>
>>
>> Jerry
>>
>>
>>  Are there an APR and a non-APR versions of the NIO Connector ? (I always
> get confused about that). If there are, what about switching to the other
> one ?

I just looked at page
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Connector%20Comparisonand
the APR will not be an option for us.
To answer your earlier question regarding connector:
<Connector port="${httpport}"
protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionLinger="-1" maxThreads="300"
maxKeepAliveRequests="-1"
               socket.rxBufSize="125940" socket.txBufSize="219000"
               backlog="50"
               connectionTimeout="20000"
               address="${weburl}"
               redirectPort="${sslport}" />

I will have to run a test later where I remove the three items from the
page to see if it loads more quickly.  I'm sure it would load faster, but
will do after weekend.

Jus to reiterate (as much for me as this group), the exact same web server
running under tomcat 6.0.35 works perfectly and loads quickly.  When I
switch to 6.0.36, it loads slowly.  Removing
protocol="org.apache.coyote.http11.Http11NioProtocol" in 6.0.36 results in
fast loads.

Jerry


>
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.**apache.org<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