[jboss-jira] [JBoss JIRA] (JBAS-9472) Improve the processing time of a request with a large number of parameters.

Toshio Oya (JIRA) jira-events at lists.jboss.org
Fri Feb 24 00:06:36 EST 2012


Toshio Oya created JBAS-9472:
--------------------------------

             Summary: Improve the processing time of a request with a large number of parameters.
                 Key: JBAS-9472
                 URL: https://issues.jboss.org/browse/JBAS-9472
             Project: Application Server 3  4  5 and 6
          Issue Type: Enhancement
      Security Level: Public (Everyone can see)
          Components: Web (Tomcat) service
    Affects Versions: JBossAS-5.1.0.GA
         Environment: Linux, Windows
            Reporter: Toshio Oya
            Assignee: Remy Maucherat


We ported an existing business application from Tomcat 5.5.x to JBoss AS 5.1.0.GA.
When running the application on JBoss AS, we found that the processing of a POST request with a large number of parameters takes longer than doing it on Tomcat.

We investigated the cause, it occurred in the processing of org.apache.tomcat.util.http.Parameters class in JBossAS/JBossWeb.

So, we've created a patch for JBoss AS to improve it.
We applied this patch to JBoss AS, then the processing time of 10,000 parameters in a POST request is now as follows.

 - Time of processing request.getParameterMap().
	Before:
		22,635.0 msec (average of 3 times)
	After:
		     2.3 msec (average of 3 times)

We want to incorporate this patch in JBoss AS.


Using our sample application:
 1. Build
    $ cd /tmp
    $ unzip sample-app.zip
    $ cd sample-app
    $ mvn package
 2. Deploy
    Please copy the test_war-1.0.war to your deploy directory for your JBossAS.
    $ cd blank_war/target/
    $ cp test_war-1.0.war $JBOSS_HOME/server/<profile>/deploy
 3. Test
    Access the url - http://server:port/test_war-1.0/ via a web browser.
    Press the "click" button in the page.
    And, press "OK" button on a dialog.
    The time of processing request.getParameters() is logged to CONSOLE and log/server.log.

    ex)
     13:42:43,084 FATAL [SampleTestAction] request.getParameterMap() taken 20467 msec.

About patch.
 modified-5.1.0.GA.zip
   - B2CConverter.java ... replacement of org.apache.tomcat.util.buf.B2BConverter 
   - Parameters.java   ... replacement of org.apache.tomcat.util.http.Parameters
   - LocalStrings.properties
                       ... added a new property file to org.apache.tomcat.util.http.

Best regards,
Team.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list