PQ60755: JSP 1.1 PERFORMED SLOWER THAN JSP 1.0 WHEN HUGE WEB APP CLASSPATH WAS CONFIGURED.

A fix is available
WebSphere Application Server Version 3.5 Fix Pack 7 (3.5.7)

APAR

APAR status
Closed as program error.

Error description
After changing from JSP 1.0 to JSP 1.1 the customer realized
that performance was slower.  The customer has a large number
of JAR files in their Web Application's classpath.  It was
also determined that the jar files were had a large file size.
some JAR files were over 4 meg.
While under a stress test it was determined that a large number
of threads were in classloader routines such as the threads
below:

"Worker#18" (TID:0x10fb910, sys_thread_t:0x10fb848, state:MW,
thread_t: t@80, threadID:0xe4e51dc0, stack_bottom:0xe4e52000,
stack_size:0x20000) prio=5
[1] java.util.Vector$1.nextElement(Vector.java)
[2] com.ibm.servlet.classloader.DynamicClassLoader.getClassPath
    (DynamicClassLoader.java:203)
[3] com.ibm.servlet.classloader.PowerClassLoader.getClassPath
    (PowerClassLoader.java:169)
[4] com.ibm.servlet.engine.srt.WebGroup.getExtendedClasspath
    (WebGroup.java:552)
[5] com.ibm.servlet.engine.srt.WebGroup.getClasspath
    (WebGroup.java:557)
[6] com.ibm.servlet.engine.webapp.WebApp.getClasspath
    (WebApp.java:204)
"Worker#15" (TID:0x10bc8e8, sys_thread_t:0x10bc820, state:R,
thread_t: t@70, threadID:0xe5061dc0, stack_bottom:0xe5062000,
stack_size:0x20000) prio=5
[1] java.lang.StringBuffer.<init>(StringBuffer.java:119)
[2] java.lang.StringBuffer.<init>(StringBuffer.java:134)
[3] com.ibm.servlet.classloader.DynamicClassLoader.getClassPath
    (DynamicClassLoader.java:203)
[4] com.ibm.servlet.classloader.PowerClassLoader.getClassPath
    (PowerClassLoader.java:169)
[5] com.ibm.servlet.engine.srt.WebGroup.getExtendedClasspath
    (WebGroup.java:552)
[6] com.ibm.servlet.engine.srt.WebGroup.getClasspath
    (WebGroup.java:557)
[7] com.ibm.servlet.engine.webapp.WebApp.getClasspath
    (WebApp.java:204)
below:"Worker#18" (TID:0x10fb910, sys_thread_t:0x10fb848, state:MW,thread_t: t@80, threadID:0xe4e51dc0, stack_bottom:0xe4e52000,stack_size:0x20000) prio=5[1], java.util.Vector$1.nextElement(Vector.java)[2], com.ibm.servlet.classloader.DynamicClassLoader.getClassPath(DynamicClassLoader.java:203)[3], com.ibm.servlet.classloader.PowerClassLoader.getClassPath(PowerClassLoader.java:169)[4], com.ibm.servlet.engine.srt.WebGroup.getExtendedClasspath(WebGroup.java:552)[5], com.ibm.servlet.engine.srt.WebGroup.getClasspath(WebGroup.java:557)[6], com.ibm.servlet.engine.webapp.WebApp.getClasspath(WebApp.java:204)"Worker#15" (TID:0x10bc8e8, sys_thread_t:0x10bc820, state:R,thread_t: t@70, threadID:0xe5061dc0, stack_bottom:0xe5062000,stack_size:0x20000) prio=5[1], java.lang.StringBuffer.(StringBuffer.java:119)[2], java.lang.StringBuffer.(StringBuffer.java:134)[3], com.ibm.servlet.classloader.DynamicClassLoader.getClassPath(DynamicClassLoader.java:203)[4], com.ibm.servlet.classloader.PowerClassLoader.getClassPath(PowerClassLoader.java:169)[5], com.ibm.servlet.engine.srt.WebGroup.getExtendedClasspath(WebGroup.java:552)[6], com.ibm.servlet.engine.srt.WebGroup.getClasspath(WebGroup.java:557)[7], com.ibm.servlet.engine.webapp.WebApp.getClasspath(WebApp.java:204)
Local fix
none known
Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server Developers      *
*                 migrating from jsp 1.0 to jsp 1.1.           *
****************************************************************
* PROBLEM DESCRIPTION: Performance degradation when            *
*                      migrating application code from jsp     *
*                      1.0 to jsp 1.1.                         *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
Performance degradation when migrating to jsp 1.1 from
jsp 1.0 due to the number of calls made to getClassPath()
during each request.
Problem conclusion
Modified the JSP Processor to move the call to getClassPath()
from each request to JSP Processor initialization.
Temporary fix
//wasdoc0/apars/pq60755/355
Comments
APAR information
APAR numberPQ60755
Reported component nameWAS ADVANCED SU
Reported component ID5648C8402
Reported release350
StatusCLOSED PER
PENoPE
HIPERNoHIPER
Submitted date2002-05-02
Closed date2002-05-07
Last modified date2002-05-09

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:APAR is sysrouted FROM one or more of the following:

PQ60908

Modules/Macros
JSP
APAR is sysrouted TO one or more of the following:PQ60908Modules/Macros

Fix information
Fixed component nameWAS ADVANCED SU
Fixed component ID5648C8402

Applicable component levels
R350 PSYUP











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, General
Software version: 350
Reference #: PQ60755
IBM Group: Software Group
Modified date: 2002-05-09