• Icon: Bug Bug
    • Resolution: Resolved Locally
    • Icon: High High
    • None
    • 1.0.3
    • None
    • BEA WLS 8.1 SP2, SunOS 5.9, JRE 1.4.1_05, HotSpot Client, Oracle9
      Total Memory: 510Mb, Free 251Mb (49% Free memory graph)

      The loading of the start page of both http://wiki.bejug.org and http://wiki.javapolis.com is really sloooooow.

      The Sparc hardware is powerfull enough to handle this. We have other private wiki's that we use which work on the same BEA WLS appserver and they're bleeding fast, so is the BeJUG Portal (http://www.bejug.org).

      We're using the open-source confluence license for both wiki's, which we've really seperated (two separate WAR installs) instead of uses two spaces. Maybe that's the problem ????

      We'll be getting more traffic once the conference is getting closer (13th of December) so you're help would be very welcome !

      Thanks in advance,
      Stephan

            [CONFSERVER-1276] Confluence Performance problem

            By putting the compile JSP pages interval to -1 in BEA WLS the performance is perfect!! So ypu can close this issue.

            Thanks,
            Stephan

            Stephan Janssen added a comment - By putting the compile JSP pages interval to -1 in BEA WLS the performance is perfect!! So ypu can close this issue. Thanks, Stephan

            I can't see anything in particular that would be causing the encoding exception.

            Do you know what page you look at to cause it? Can you give us a URL?

            Cheers,
            Mike

            Mike Cannon-Brookes added a comment - I can't see anything in particular that would be causing the encoding exception. Do you know what page you look at to cause it? Can you give us a URL? Cheers, Mike

            Setting the servlet-reload to -1 did help a lot, thanks!

            However we stil have this encoding exception demanding some CPU cycles...

            Stephan Janssen added a comment - Setting the servlet-reload to -1 did help a lot, thanks! However we stil have this encoding exception demanding some CPU cycles...

            It seems to be a similar issue to JRA-3537.

            We had some performance problems with JIRA on BEA WebLogic Server 8.1 (and 7.0). We and BEA support ended up with the following weblogic.xml:


            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1
            //EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
            <weblogic-web-app>
            <container-descriptor>
            <servlet-reload-check-secs>-1</servlet-reload-check-secs>
            </container-descriptor>
            </weblogic-web-app>

            The performance of JIRA which is pretty ok now after disabling the check of changed JSPs.

            Lars Torunski added a comment - It seems to be a similar issue to JRA-3537 . We had some performance problems with JIRA on BEA WebLogic Server 8.1 (and 7.0). We and BEA support ended up with the following weblogic.xml: – <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1 //EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> <weblogic-web-app> <container-descriptor> <servlet-reload-check-secs>-1</servlet-reload-check-secs> </container-descriptor> </weblogic-web-app> – The performance of JIRA which is pretty ok now after disabling the check of changed JSPs.

            I tried to put profile on with ?profile=on in URL
            However I do not see any specific trace in either the standard output, the domain log and the server log of Weblogic.

            Where should it appear ?

            Dieter Deramoudt added a comment - I tried to put profile on with ?profile=on in URL However I do not see any specific trace in either the standard output, the domain log and the server log of Weblogic. Where should it appear ?

            Looking in the BEA log files there seems to be somewhere (I think in the steering members page) an illegal hex character.

            java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "= "
            at java.net.URLDecoder.decode(URLDecoder.java:168)
            at com.atlassian.confluence.util.GeneralUtil.urlDecode(GeneralUtil.java:476)
            at com.atlassian.confluence.servlet.ConfluenceHttpServlet.getDecodedPathInfo(ConfluenceHttpServlet.java:28)
            at com.atlassian.confluence.servlet.SimpleDisplayServlet.doGet(SimpleDisplayServlet.java:51)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:129)
            at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:36)
            at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:61)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:161)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:100)
            at com.atlassian.confluence.setup.SpringSessionInViewFilter.doFilterInternal(SpringSessionInViewFilter.java:32)
            at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:57)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:38)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

            Stephan Janssen added a comment - Looking in the BEA log files there seems to be somewhere (I think in the steering members page) an illegal hex character. java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "= " at java.net.URLDecoder.decode(URLDecoder.java:168) at com.atlassian.confluence.util.GeneralUtil.urlDecode(GeneralUtil.java:476) at com.atlassian.confluence.servlet.ConfluenceHttpServlet.getDecodedPathInfo(ConfluenceHttpServlet.java:28) at com.atlassian.confluence.servlet.SimpleDisplayServlet.doGet(SimpleDisplayServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:129) at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:36) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:61) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:161) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:100) at com.atlassian.confluence.setup.SpringSessionInViewFilter.doFilterInternal(SpringSessionInViewFilter.java:32) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:57) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:38) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

            Would it help if we make you (temporary) a Confluence admin ?!

            Stephan Janssen added a comment - Would it help if we make you (temporary) a Confluence admin ?!

            Oops! My bad The problem seems to be with the dashboard!!! Sorry... Ignore my previous comment

            Armond Avanes added a comment - Oops! My bad The problem seems to be with the dashboard!!! Sorry... Ignore my previous comment

            Well, have you tested this page with out latest development version (v1.1)? I guess the problem should be already resolved.

            Negative lookaheads in regular expressions are not completely supported by "*" and "+" operators so we had to somehow simulate them by using "

            {1, N}

            " notation which was definitely killing the performance. Recently I just fixed the last instance we were using. I replaced it with java code (non regexp) to over come the problem.
            Mike, remember the Lorem Ipsum content we once tested? This should be the same I guess...

            Regards,

            Armond Avanes added a comment - Well, have you tested this page with out latest development version (v1.1)? I guess the problem should be already resolved. Negative lookaheads in regular expressions are not completely supported by "*" and "+" operators so we had to somehow simulate them by using " {1, N} " notation which was definitely killing the performance. Recently I just fixed the last instance we were using. I replaced it with java code (non regexp) to over come the problem. Mike, remember the Lorem Ipsum content we once tested? This should be the same I guess... Regards,

            Stephan,

            Yes, we're very keen to figure out your performance problem!

            If you turn on profiling as Dave said, you should get some interesting stack traces which you can send us to work out where the time is being spent.

            Is it on all pages, or only particular pages? If particular pages, which ones?

            Does it occur the first time a page is rendered, or always?

            We'll fix it with your help - just give us some time to analyze.

            Cheers,
            Mike

            Mike Cannon-Brookes added a comment - Stephan, Yes, we're very keen to figure out your performance problem! If you turn on profiling as Dave said, you should get some interesting stack traces which you can send us to work out where the time is being spent. Is it on all pages, or only particular pages? If particular pages, which ones? Does it occur the first time a page is rendered, or always? We'll fix it with your help - just give us some time to analyze. Cheers, Mike

            Hi Stephan,

            You can switch on profiling on by appending profiling=on in the url.

            For example:

            http://www.bejug.org/confluenceBeJUG/display/BEJUG2004/Home?profiling=on

            This should then print out a trace in your logs detailing how much time each action is taking to execute. If you can send us these logs after a day of operation we can take a look at where the performance bottlenecks are for you.

            Cheers,
            Dave

            dave (Inactive) added a comment - Hi Stephan, You can switch on profiling on by appending profiling=on in the url. For example: http://www.bejug.org/confluenceBeJUG/display/BEJUG2004/Home?profiling=on This should then print out a trace in your logs detailing how much time each action is taking to execute. If you can send us these logs after a day of operation we can take a look at where the performance bottlenecks are for you. Cheers, Dave

            Mike, can we activate any performance tracing where the CPU time is spend ?

            Stephan Janssen added a comment - Mike, can we activate any performance tracing where the CPU time is spend ?

              Unassigned Unassigned
              3b8d8f618d5f Stephan Janssen
              Affected customers:
              0 This affects my team
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: