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

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major 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>

      • 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

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

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

              Created:
              Updated:
              Resolved: