portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joachim Müller <joac...@wemove.com>
Subject Re: high memory consumption, possible fix
Date Wed, 07 Nov 2007 17:12:35 GMT
Hi Scott,

unfortunately I can't provide you with more detailed information at the
moment. The information came to us from a client:

300 users parallel (not logged in, just new sessions)
50 requests/second
20-25 Portlets per page
OOME after 7 min.

What do you think about the proposed fixes?

Regards.
Joachim

Weaver, Scott schrieb:
> Hi Joachim,
> 
> You may also be interested in JS2-800 and JS-801 both of which deal with memory leaks.
 Do you happen to have any profiling statistics of the JVM around the time it goes OOM?  What
type of load are you testing with?  
> 
> I already have fixed JS2-800 (still need to commit) and I am going to try to work on
JS2-801 here soon.
> 
> -scott
> 
>> -----Original Message-----
>> From: Joachim Müller [mailto:joachim@wemove.com]
>> Sent: Tuesday, November 06, 2007 3:59 PM
>> To: jetspeed-dev@portals.apache.org
>> Subject: high memory consumption, possible fix
>>
>> Hi all,
>>
>> we are experiencing very high memory consumption on a system based on
>> Jetspeed 2.1 under very high load. (OutOfMemory within a couple of
>> minutes)
>>
>> There are 2 fix that are proposed to us. First addresses the decoupling
>> of the PortletContent from all ContentFragments of a page in
>> CleanupValveImpl:
>>
>> ((ContentFragment)fragment).setPortletContent(null);
>>
>>
>> The second fix addresses the release of all attributes from velocity
>> context incl. removing cycling references in the
>> JetspeedVelocityViewServlet (service method):
>>
>> ...
>> Context ctx = (Context) renderRequest.getAttribute(VELOCITY_CONTEXT_ATTR);
>>
>> renderRequest.removeAttribute(VELOCITY_CONTEXT_ATTR);
>> renderRequest.removeAttribute(PortalReservedParameters.JETSPEED_POWER_TOOL
>> _REQ_ATTRIBUTE);
>>
>> JetspeedVelocityPowerTool jpt = (JetspeedVelocityPowerTool)
>> ctx.get(JETSPEED_TOOL_VAR_NAME);
>>
>> if (jpt!=null){
>> 	jpt.setVelocityContext(null);
>> 	ctx.remove(JETSPEED_TOOL_VAR_NAME);
>> }
>>
>> Object[] keys = ctx.getKeys();
>> //Delete all attributes
>> for (int i = 0; i < keys.length; i++) {
>> 	ctx.remove(keys[i]);
>> }
>> ...
>>
>> (already adapted to 2.1.2)
>>
>>
>> Since this is kind of rough I would like to discuss this with the
>> developer list.
>>
>> I also know, that Scott was working on replacing the standard hashmap
>> caching in org.apache.jetspeed.profiler.impl.JetspeedProfilerImpl and
>> org.apache.jetspeed.container.window.impl.PortletWindowAccessorImpl.
>> Scott, can you already share some of your results?
>>
>> Best regards,
>> Joachim
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
>> For additional commands, e-mail: jetspeed-dev-help@portals.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-dev-help@portals.apache.org
> 
> 


-- 

. frankfurt am main, 9°c, zur zeit ein wenig
  bewölkt in 305 m. die sichtweite reicht weiter als
  10 km.

< joachim müller
  joachim@wemove.com
  t +49 69 759003 11

  wemove digital solutions gmbh
  eschersheimer landstr. 5-7
  60322 frankfurt am main

  amtsgericht frankfurt am main, hrb 53992
  geschäftsführer joachim müller, stefan hartmann

  wemove digital solutions
  www.wemove.com



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message