You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Rune Sandnes <ru...@klapp.no> on 2001/09/02 16:53:27 UTC

Problem with C2 memory usage

We have some problems with memory usage in Cocoon2b2 on Windows 2000
with IIS and Tomcat 3.2.3. 

Everything works fine for a while, but after a number of accesses the
amount of memory Cocoon uses grows really big (e.g. 180MB) and things
work slower and slower. We have to restart tomcat to get Cocoon to start
responding again.

It might seem like it never does garbage collection.
I use the default settings from the installation, and I have also tried
to disable caching to see if that could be a source of memory leekage. 

The problem arises with database access from xsp files, when I do stress
testing with a simple xml file it works fine, the memory usage grows
much slower anyway.

The esql xsp page I use is included below. Is there anything really,
really wrong here?
Could it be something else in my setup?


<?xml version="1.0" encoding="ISO-8859-1"?>

<xsp:page
	  language="java"
        xmlns:xsp="http://apache.org/xsp"
	  xmlns:esql="http://apache.org/cocoon/SQL/v2"
>

<page>
<esql:connection>
  <esql:pool>poolnamehere</esql:pool>

  <!-- Document data -->
  <esql:execute-query>
    <esql:query>select * from documents where id =
<xsp:expr>request.getParameter("id")</xsp:expr></esql:query>
    <esql:results>
      <esql:row-results>

          <content>
	    <dokid><esql:get-int column="id"/></dokid>
          <esql:get-xml column="doc_data"/>
          </content>
	  
      </esql:row-results>
    </esql:results>
  </esql:execute-query>
  

  <!-- News column -->
  <esql:execute-query>
    <esql:query>SELECT TOP 3 LEFT(documents.title, 30) + '...' AS title,
id FROM documents INNER JOIN doc_locations ON documents.id =
doc_locations.document_id AND doc_locations.location = 'news' AND
documents.status = 'A' ORDER BY documents.create_date</esql:query>
    <esql:results>
      <news>
        <items>
          <esql:row-results>
            <item>
		<id><esql:get-int column="id"/></id>
		<title><esql:get-string column="title"/></title>
	    </item>
           </esql:row-results>
        </items>
      </news>
    </esql:results>
  </esql:execute-query>


  <!-- Menu -->
  <esql:execute-query>
    <esql:query>SELECT * FROM document_tree</esql:query>
    <esql:results>
	<menutree>
	  <esql:row-results>
	     <item>
		<id><esql:get-string column="id"/></id>
		<parent_id><esql:get-string
column="parent_id"/></parent_id>
		<name><esql:get-string column="name"/></name>
	     </item>
          </esql:row-results>
        </menutree>
    </esql:results>
  </esql:execute-query>


  <!-- Documents in this category -->
  <esql:execute-query>
    <esql:query>SELECT LEFT(documents.title, 25) + '...' AS title, id
FROM documents INNER JOIN doc_locations ON documents.id =
doc_locations.document_id AND doc_locations.location = 'companyinfo' AND
documents.status = 'A' ORDER BY documents.create_date</esql:query>
    <esql:results>
    <otherdocs>
      <esql:row-results>

          <od>
	  <id><esql:get-int column="id"/></id>
          <title><esql:get-string column="title"/></title>
          </od>
	  
      </esql:row-results>
     </otherdocs>
    </esql:results>
  </esql:execute-query>


</esql:connection>

</page>

</xsp:page>


-- 
Regards,
Rune, Trondheim, Norway

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>


Re: Problem with C2 memory usage

Posted by Thomas Patterson <tp...@telisphere.com>.
Use JProbe to find the "leak".

-Tom

----- Original Message ----- 
From: "Rune Sandnes" <ru...@klapp.no>
To: <co...@xml.apache.org>
Sent: Sunday, September 02, 2001 7:53 AM
Subject: Problem with C2 memory usage



We have some problems with memory usage in Cocoon2b2 on Windows 2000
with IIS and Tomcat 3.2.3. 

Everything works fine for a while, but after a number of accesses the
amount of memory Cocoon uses grows really big (e.g. 180MB) and things
work slower and slower. We have to restart tomcat to get Cocoon to start
responding again.

It might seem like it never does garbage collection.
I use the default settings from the installation, and I have also tried
to disable caching to see if that could be a source of memory leekage. 

The problem arises with database access from xsp files, when I do stress
testing with a simple xml file it works fine, the memory usage grows
much slower anyway.

The esql xsp page I use is included below. Is there anything really,
really wrong here?
Could it be something else in my setup?


<?xml version="1.0" encoding="ISO-8859-1"?>

<xsp:page
  language="java"
        xmlns:xsp="http://apache.org/xsp"
  xmlns:esql="http://apache.org/cocoon/SQL/v2"
>

<page>
<esql:connection>
  <esql:pool>poolnamehere</esql:pool>

  <!-- Document data -->
  <esql:execute-query>
    <esql:query>select * from documents where id =
<xsp:expr>request.getParameter("id")</xsp:expr></esql:query>
    <esql:results>
      <esql:row-results>

          <content>
    <dokid><esql:get-int column="id"/></dokid>
          <esql:get-xml column="doc_data"/>
          </content>
  
      </esql:row-results>
    </esql:results>
  </esql:execute-query>
  

  <!-- News column -->
  <esql:execute-query>
    <esql:query>SELECT TOP 3 LEFT(documents.title, 30) + '...' AS title,
id FROM documents INNER JOIN doc_locations ON documents.id =
doc_locations.document_id AND doc_locations.location = 'news' AND
documents.status = 'A' ORDER BY documents.create_date</esql:query>
    <esql:results>
      <news>
        <items>
          <esql:row-results>
            <item>
<id><esql:get-int column="id"/></id>
<title><esql:get-string column="title"/></title>
    </item>
           </esql:row-results>
        </items>
      </news>
    </esql:results>
  </esql:execute-query>


  <!-- Menu -->
  <esql:execute-query>
    <esql:query>SELECT * FROM document_tree</esql:query>
    <esql:results>
<menutree>
  <esql:row-results>
     <item>
<id><esql:get-string column="id"/></id>
<parent_id><esql:get-string
column="parent_id"/></parent_id>
<name><esql:get-string column="name"/></name>
     </item>
          </esql:row-results>
        </menutree>
    </esql:results>
  </esql:execute-query>


  <!-- Documents in this category -->
  <esql:execute-query>
    <esql:query>SELECT LEFT(documents.title, 25) + '...' AS title, id
FROM documents INNER JOIN doc_locations ON documents.id =
doc_locations.document_id AND doc_locations.location = 'companyinfo' AND
documents.status = 'A' ORDER BY documents.create_date</esql:query>
    <esql:results>
    <otherdocs>
      <esql:row-results>

          <od>
  <id><esql:get-int column="id"/></id>
          <title><esql:get-string column="title"/></title>
          </od>
  
      </esql:row-results>
     </otherdocs>
    </esql:results>
  </esql:execute-query>


</esql:connection>

</page>

</xsp:page>


-- 
Regards,
Rune, Trondheim, Norway

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>



---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>


RE: Problem with C2 memory usage

Posted by Vadim Gritsenko <vg...@hns.com>.
Hi,

Cocoon 2.0-dev version have several memory-related bug fixes. Wait for 2.0-rc or get
snapshot from http://cvs.apache.org/snapshots/xml-cocoon2/ or download latest
cocoon from CVS and repeat your testing.

Vadim

> -----Original Message-----
> From: Rune Sandnes [mailto:rune@klapp.no]
> Sent: Sunday, September 02, 2001 10:53 AM
> To: cocoon-users@xml.apache.org
> Subject: Problem with C2 memory usage
> 
> 
> 
> We have some problems with memory usage in Cocoon2b2 on Windows 2000
> with IIS and Tomcat 3.2.3. 
> 
> Everything works fine for a while, but after a number of accesses the
> amount of memory Cocoon uses grows really big (e.g. 180MB) and things
> work slower and slower. We have to restart tomcat to get Cocoon to start
> responding again.
> 
> It might seem like it never does garbage collection.
> I use the default settings from the installation, and I have also tried
> to disable caching to see if that could be a source of memory leekage. 
> 
> The problem arises with database access from xsp files, when I do stress
> testing with a simple xml file it works fine, the memory usage grows
> much slower anyway.
> 
> The esql xsp page I use is included below. Is there anything really,
> really wrong here?
> Could it be something else in my setup?
> 
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> 
> <xsp:page
> 	  language="java"
>         xmlns:xsp="http://apache.org/xsp"
> 	  xmlns:esql="http://apache.org/cocoon/SQL/v2"
> >
> 
> <page>
> <esql:connection>
>   <esql:pool>poolnamehere</esql:pool>
> 
>   <!-- Document data -->
>   <esql:execute-query>
>     <esql:query>select * from documents where id =
> <xsp:expr>request.getParameter("id")</xsp:expr></esql:query>
>     <esql:results>
>       <esql:row-results>
> 
>           <content>
> 	    <dokid><esql:get-int column="id"/></dokid>
>           <esql:get-xml column="doc_data"/>
>           </content>
> 	  
>       </esql:row-results>
>     </esql:results>
>   </esql:execute-query>
>   
> 
>   <!-- News column -->
>   <esql:execute-query>
>     <esql:query>SELECT TOP 3 LEFT(documents.title, 30) + '...' AS title,
> id FROM documents INNER JOIN doc_locations ON documents.id =
> doc_locations.document_id AND doc_locations.location = 'news' AND
> documents.status = 'A' ORDER BY documents.create_date</esql:query>
>     <esql:results>
>       <news>
>         <items>
>           <esql:row-results>
>             <item>
> 		<id><esql:get-int column="id"/></id>
> 		<title><esql:get-string column="title"/></title>
> 	    </item>
>            </esql:row-results>
>         </items>
>       </news>
>     </esql:results>
>   </esql:execute-query>
> 
> 
>   <!-- Menu -->
>   <esql:execute-query>
>     <esql:query>SELECT * FROM document_tree</esql:query>
>     <esql:results>
> 	<menutree>
> 	  <esql:row-results>
> 	     <item>
> 		<id><esql:get-string column="id"/></id>
> 		<parent_id><esql:get-string
> column="parent_id"/></parent_id>
> 		<name><esql:get-string column="name"/></name>
> 	     </item>
>           </esql:row-results>
>         </menutree>
>     </esql:results>
>   </esql:execute-query>
> 
> 
>   <!-- Documents in this category -->
>   <esql:execute-query>
>     <esql:query>SELECT LEFT(documents.title, 25) + '...' AS title, id
> FROM documents INNER JOIN doc_locations ON documents.id =
> doc_locations.document_id AND doc_locations.location = 'companyinfo' AND
> documents.status = 'A' ORDER BY documents.create_date</esql:query>
>     <esql:results>
>     <otherdocs>
>       <esql:row-results>
> 
>           <od>
> 	  <id><esql:get-int column="id"/></id>
>           <title><esql:get-string column="title"/></title>
>           </od>
> 	  
>       </esql:row-results>
>      </otherdocs>
>     </esql:results>
>   </esql:execute-query>
> 
> 
> </esql:connection>
> 
> </page>
> 
> </xsp:page>
> 
> 
> -- 
> Regards,
> Rune, Trondheim, Norway
> 
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
> 
> To unsubscribe, e-mail: <co...@xml.apache.org>
> For additional commands, e-mail: <co...@xml.apache.org>
> 
> 

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>