Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-1197

Performance Issue: org.jboss.resteasy.spi.ResteasyUriInfo instantiation takes 20% of all the CPU time

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 3.1.0.Beta1, 3.0.20.Final
    • 3.0.11.Final
    • jaxrs
    • None
    • Hide

      servlet container: jetty 9

      web.xml:
      <web-app>

      <module-name>server</module-name>

      <listener>
      <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
      </listener>

      <servlet>
      <servlet-name>Server</servlet-name>
      <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
      <init-param>
      <param-name>javax.ws.rs.Application</param-name>
      <param-value>..</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
      </servlet>

      <servlet-mapping>
      <servlet-name>Server</servlet-name>
      <url-pattern>/*</url-pattern>
      </servlet-mapping>

      <listener>
      <listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>
      </listener>

      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext.xml</param-value>
      </context-param>

      </web-app>

      Show
      servlet container: jetty 9 web.xml: <web-app> <module-name>server</module-name> <listener> <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> </listener> <servlet> <servlet-name>Server</servlet-name> <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>..</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Server</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <listener> <listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> </web-app>

    Description

      • org.jboss.resteasy.spi.ResteasyUriInfo is instantiated as part of the request handling by rest easy.
      • while profiling using your kit, 20% of the time is spent on this single call.
      • the request URL are of the form: http://hostname/path1_4char_string/path2_8digit_int

      for a simple request URL, this is way too much time spent on one single instantiation

      Attachments

        1. Encode.java
          14 kB
        2. resteasy.png
          resteasy.png
          164 kB
        3. resteasy2.png
          resteasy2.png
          355 kB
        4. ResteasyUriBuilder.java
          32 kB
        5. Test-1 (RestEasy_3.0.13.Final).jps
          495 kB
        6. Test-2 (RestEasy_3.0.13.Final).jps
          507 kB
        7. Test-3 (RestEasy_3.0.13.Final).jps
          493 kB

        Activity

          People

            rhn-support-asoldano Alessio Soldano
            karthikm-yahoo karthikeyan m. (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: