Jerry Lampi wrote:
On Fri, Jul 12, 2013 at 2:27 PM, Christopher Schultz <
ch...@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

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 ?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to