Morning Vadim,
I have just tested cocoon with your patch (by the way, can
you explain me how to diff between 2 files?).
It's a little bit late, and I don't know if I did every-
thing right:
I shoot only 5 threads against /cocoon/hello.html to test
your changes. The load is still high, but it seems to be a
other reason now: java.io.Win32FileSystem.getLastModifiedTime()
now eats 50% CPU time.
org.apache.cocoon.components.source.URLSource.getInfos()
org.apache.cocoon.components.source.URLSource.getLastModified()
org.apache.cocoon.sitemap.Handler.hasChanged()
org.apache.cocoon.sitemap.Manager.getHandler()
org.apache.cocoon.sitemap.Manager.invoke()
org.apache.cocoon.Cocoon.process()
are invokers of this method.

I attached the trace file to this mail. I will test it
again tomorrow. I have a 14 days trail software, that
should be sufficient :).
Will catch some sleep now...

Cheers
Gerhard
>-----Ursprungliche Nachricht-----
>Von: Vadim Gritsenko [mailto:[EMAIL PROTECTED]]
>Gesendet: Thursday, August 23, 2001 1:03 AM
>An: [EMAIL PROTECTED]
>Betreff: RE: LoadTest
>
>
>Marcus,
>Do not use cocoon20b2 - this is really old beta release!
>Switch to cocoon_20_branch - that's the RC Berin is talking about.
>
>Vadim
>
>> -----Original Message-----
>> From: Marcus Crafter [mailto:[EMAIL PROTECTED]]
>> Sent: Wednesday, August 22, 2001 6:58 PM
>> To: [EMAIL PROTECTED]
>> Subject: Re: LoadTest
>>
>>
>> Hi Berin,
>>
>>      Hope all is well mate. Thanks again for your advice.
>Please, don't be
>>      afraid to give out more! :-)
>>
>> On Wed, 22 Aug 2001, Berin Loritsch wrote:
>>
>> > Marcus Crafter wrote:
>> > >
>> > >         We had a range of errors:
>> > >
>> > >         o components not found: fixed recently in avalon's
>DefaultPool
>> > >           (also seems to have improved what was before a memory leak)
>> >
>> > I'm glad to see this is no longer a problem.  Let me know if it rears
>> > its ugly head again.
>>
>>      Sure will. :-)
>>
>> > >         o decreased performance over time (100 users lasts
>about 20 minutes,
>> > >           50 users lasts about 40 minutes with our
>application, before
>> > >           performance drops)
>> >
>> > What is the load (beyond number of users: time between responses, type
>> > of resource).
>>
>>      The load actually changed with today's source code. Thanks
>to all that
>>      checked in changes today. Yesterday the load was less on our system
>>      (averaging between 3 and 6, for 50 and 100 users).
>>
>>      With the changes from today (which have helped dramatically)
>>      the load is much higher, around 7-14 with the same user counts.
>>
>>      Performance in general is actually much better than before,
>even though
>>      the machine seems to be under more load.
>>
>> > Probably should use the cocoon_2_0 branch (check the site for
>the proper
>> > name).
>> > That is what is being prepared for production readiness.
>>
>>      Ok, we've switched over to the cocoon20b2 branch.
>>
>> > Cocoon.xconf provides attributes to allow you to manipulate
>> > the size of Component pools for Poolable Components:
>> >
>> > pool-min     // Minimum number of Components in the pool
>> > pool-max     // Maximum number of Components maintained in the pool
>> > pool-grow    // Number of Components to add to the pool each
>time we run
>> > out.
>> >
>> > The Pool will basically turn into a Factory when the number of
>> > Components in
>> > the pool exceed pool-max.  This is a performance drain.
>>
>>      Ok. Excellent advice. :-)
>>
>>      We pumped up our pool settings and saw an immediate improvement in
>>      general application performance, especially when testing
>directly with
>>      Tomcat (vs via a ajp13 connector).
>>
>>      I've increased pooling settings on as much components as I
>can in our
>>      cocoon.xconf and sitemap.xmap files (min 32 to max 64 for 50
>>      simultaneous users).
>>
>>      There are still several components which are regularly being
>>      decommissioned in the log files during our tests, that I cannot find
>>      locations where I can set pooling parameters for. These are:
>>
>>      org.apache.cocoon.components.language.markup.xsp.XSPMarkupLanguage
>>      org.apache.avalon.excalibur.component.ExcaliburComponentSelector
>>
>>      and all generated xsp classes, eg:
>>
>>      org.apache.cocoon.www.client.common.mask.mask_xsp_xml
>>      (custom generated xsp class).
>>
>>      Is it possible to set pooling sizes on these components too ?
>>
>> > Increase your pool sizes and cache sizes.  If your JVM is not
>set to use
>> > all 2 gig of RAM, then it will perform garbage collection more often.
>>
>>      Yep. Have done already, we're running with mx1526 ms1024m,
>although I
>>      missed the MRU settings. I've increased the MRUMemory sizes
>today from
>>      60m to 200m (for each event cache, stream cache, and the store).
>>
>> > >         Runaway threads ? Could cause such a problem, but
>they wouldn't allow
>> > >         the system to regain itself - or should I not assume this ?
>> >
>> > I don't think this is a problem.  You would see your CPU maxed out.
>>
>>      I agree.
>>
>> > >         Threading issues ? We've also seen cases in the log
>files under load
>> > >         where a single (same) request is handled by 4
>separate threads, all
>> > >         starting in the same second - quite vexing.
>> >
>> > That _might_ be your Servlet Engine.  The last time I ran my tests I
>> > used Caucho's Resin.  It is pretty decent, although it has some
>> > synchronization issues of its own regarding archived files
>(i.e. jar files).
>> > They are so severe that the entire JVM crashes.
>>
>>      Ouch. Ok, I'll try everything with Resin as well, and also with
>>      Tomcat 4. BTW - Have you (or anyone else) experienced
>performance/load
>>      problems when using the apache connectors at all ?
>>
>> > >         Our environment is a on a Sun Enterprise 250
>(2x450mhz UltraII, 2gig
>> > >         ram), with Tomcat 3.2.3, CVS Cocoon2, and our
>reporting application
>> > >         (generates various html tables and pdf reports).
>> >
>> > That sounds very impressive.  Can I have one? ;P
>>
>>      Sure, we have 5 of them here :-)
>>
>>      That's it so far. Thanks very much for your advice Berin, we'll
>>      continue to test here with the ideas you and others have
>laid out with
>>      the current codebase. As we do more testing I'll send in more
>>      information.
>>
>>      Cheers,
>>
>>      Marcus
>>
>>
>> --
>>         .....
>>      ,,$$$$$$$$$,      Marcus Crafter
>>     ;$'      '$$$$:    Computer Systems Engineer
>>     $:         $$$$:   Open Software Associates GmbH
>>      $       o_)$$$:   82-84 Mainzer Landstrasse
>>      ;$,    _/\ &&:'   60327 Frankfurt Germany
>>        '     /( &&&
>>            \_&&&&'     Email : [EMAIL PROTECTED]
>>           &&&&.        Business Hours : +49 69 9757 200
>>     &&&&&&&:
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, email: [EMAIL PROTECTED]
>>
>
>_________________________________________________________
>Do You Yahoo!?
>Get your free @yahoo.com address at http://mail.yahoo.com
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, email: [EMAIL PROTECTED]
>
Profiler output for thread Thread-14 . application  (CPU profiler output - Sampler / 
Methods)
---------------------------------------------------------------------------------------------

Description of CPU usage for thread Thread-14 
   50.67% - 5053 ms - java.io.Win32FileSystem.getLastModifiedTime()
      50.67% - 5053 ms - java.io.File.lastModified()
         49.15% - 4902 ms - org.apache.tomcat.loader.AdaptiveClassLoader.shouldReload()
            49.15% - 4902 ms - 
org.apache.tomcat.loader.AdaptiveServletLoader.shouldReload()
               49.15% - 4902 ms - org.apache.tomcat.core.ServletWrapper.handleReload()
                  49.15% - 4902 ms - org.apache.tomcat.core.ServletWrapper.service()
                     49.15% - 4902 ms - 
org.apache.tomcat.core.ContextManager.internalService()
                        49.15% - 4902 ms - 
org.apache.tomcat.core.ContextManager.service()
                           49.15% - 4902 ms - 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection()
                              49.15% - 4902 ms - 
org.apache.tomcat.service.TcpWorkerThread.runIt()
                                 49.15% - 4902 ms - 
org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
                                    49.15% - 4902 ms - java.lang.Thread.run()
         1.51% - 151 ms - org.apache.cocoon.components.source.URLSource.getInfos()
            1.51% - 151 ms - 
org.apache.cocoon.components.source.URLSource.getLastModified()
               0.7% - 70 ms - org.apache.cocoon.sitemap.Handler.hasChanged()
                  0.7% - 70 ms - org.apache.cocoon.sitemap.Manager.getHandler()
                     0.7% - 70 ms - org.apache.cocoon.sitemap.Manager.invoke()
                        0.7% - 70 ms - org.apache.cocoon.Cocoon.process()
                           0.7% - 70 ms - 
org.apache.cocoon.servlet.CocoonServlet.service()
                              0.7% - 70 ms - javax.servlet.http.HttpServlet.service()
                                 0.7% - 70 ms - 
org.apache.tomcat.core.ServletWrapper.doService()
                                    0.7% - 70 ms - 
org.apache.tomcat.core.Handler.service()
                                       0.7% - 70 ms - 
org.apache.tomcat.core.ServletWrapper.service()
                                          0.7% - 70 ms - 
org.apache.tomcat.core.ContextManager.internalService()
                                             0.7% - 70 ms - 
org.apache.tomcat.core.ContextManager.service()
                                                0.7% - 70 ms - 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection()
                                                   0.7% - 70 ms - 
org.apache.tomcat.service.TcpWorkerThread.runIt()
                                                      0.7% - 70 ms - 
org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
                                                         0.7% - 70 ms - 
java.lang.Thread.run()
               0.61% - 61 ms - org.apache.cocoon.generation.FileGenerator.generateKey()
               0.2% - 20 ms - org.apache.cocoon.transformation.TraxTransformer.setup()
   6.99% - 698 ms - java.lang.StringBuffer.<init>()
   5.81% - 580 ms - java.net.SocketInputStream.socketRead()
   5.64% - 563 ms - java.net.PlainSocketImpl.socketAccept()
   4.54% - 453 ms - java.lang.StringBuffer.toString()
   4.18% - 417 ms - java.lang.String.substring()
   3.44% - 344 ms - java.lang.StringBuffer.expandCapacity()
   2.18% - 218 ms - java.io.Win32FileSystem.canonicalize()
   1.2% - 120 ms - java.net.URLStreamHandler.toExternalForm()
   1.08% - 108 ms - java.lang.String.replace()
   1.04% - 104 ms - java.io.Win32FileSystem.getLength()
   0.93% - 93 ms - java.util.Hashtable.put()
   0.91% - 91 ms - java.io.File.lastModified()
   0.86% - 86 ms - java.lang.String.toUpperCase()
   0.79% - 79 ms - java.util.HashMap.put()
   0.74% - 74 ms - java.lang.Integer.toString()
   0.68% - 68 ms - java.util.HashMap.<init>()
   0.65% - 65 ms - java.net.SocketOutputStream.socketWrite()
   0.6% - 60 ms - java.lang.Long.toString()
   0.51% - 51 ms - sun.io.Converters.getConverterClass()
   0.48% - 48 ms - java.io.Win32FileSystem.normalize()
   0.45% - 45 ms - java.lang.Object.clone()
   0.34% - 34 ms - java.lang.String.<init>()
   0.34% - 34 ms - java.lang.StringBuffer.append()
   0.32% - 32 ms - java.io.Win32FileSystem.resolve()
   0.31% - 31 ms - java.util.Hashtable$Enumerator.nextElement()
   0.29% - 29 ms - java.io.File.toURL()
   0.28% - 28 ms - java.util.Hashtable.<init>()
   0.28% - 28 ms - java.lang.String.<init>()
   0.28% - 28 ms - java.lang.String.charAt()
   0.27% - 27 ms - java.lang.Throwable.fillInStackTrace()
   0.25% - 25 ms - java.lang.String.toCharArray()
   0.18% - 18 ms - java.net.URL.toString()
   0.17% - 17 ms - java.lang.StringBuffer.append()
   0.17% - 17 ms - java.io.Win32FileSystem.getBooleanAttributes()
   0.16% - 16 ms - java.util.AbstractList.iterator()
   0.16% - 16 ms - java.util.ArrayList.<init>()
   0.12% - 12 ms - java.lang.Class.newInstance0()
   0.11% - 11 ms - java.util.HashMap.keySet()
   0.11% - 11 ms - java.lang.Object.toString()
   0.1% - 10 ms - java.util.Hashtable.get()
   0.1% - 10 ms - java.util.HashMap.getHashIterator()
   0.09% - 9 ms - java.io.File.<init>()
   0.07% - 7 ms - java.net.Socket.getInputStream()
   0.07% - 7 ms - java.net.Socket.getOutputStream()
   0.06% - 6 ms - java.lang.StringBuffer.<init>()
   0.06% - 6 ms - java.util.LinkedList.addBefore()
   0.05% - 5 ms - java.lang.String.indexOf()
   0.05% - 5 ms - java.io.Win32FileSystem.isLetter()
   0.05% - 5 ms - java.lang.String.indexOf()
   0.05% - 5 ms - java.net.ServerSocket.implAccept()
   0.05% - 5 ms - java.lang.String.getChars()
   0.05% - 5 ms - java.lang.String.<init>()
   0.05% - 5 ms - java.io.Win32FileSystem.resolve()
   0.05% - 5 ms - java.lang.System.arraycopy()
   0.05% - 5 ms - java.lang.ref.Finalizer.register()
   0.05% - 5 ms - java.util.HashMap.get()
   0.05% - 5 ms - sun.io.Converters.newConverter()
   0.05% - 5 ms - java.lang.ThreadLocal.set()
   0.05% - 5 ms - java.lang.String.startsWith()
   0.05% - 5 ms - java.net.SocketInputStream.available()
   0.05% - 5 ms - java.util.Collections$SynchronizedMap.get()
   0.05% - 5 ms - java.lang.Integer.toUnsignedString()
   0.05% - 5 ms - java.net.PlainSocketImpl.getOutputStream()



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to