[jboss-jira] [JBoss JIRA] (WFLY-4617) Huge garbage created at regular intervals in Wildfly 8.2.0.Final
Srivathsan Agaram Venkatavaradhan (JIRA)
issues at jboss.org
Mon May 18 05:21:19 EDT 2015
[ https://issues.jboss.org/browse/WFLY-4617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13068716#comment-13068716 ]
Srivathsan Agaram Venkatavaradhan commented on WFLY-4617:
---------------------------------------------------------
Added a filter and tried removing attributes, however we could still see the references not getting garbage collected. It seems like the request processing time exceeds gc internal * tenuring threshold.
I tried to compare a simple list transaction which list items. In JBoss 7.1.1. with same app, this takes around 300 to 400 ms. However with wildlfy this takes around 750 to 900 ms. On more analysis , I found that a forward call from struts request processor takes more around in wildlfy.
http://grepcode.com/file/repository.springsource.com/org.apache.struts/com.springsource.org.apache.struts/1.1.0/org/apache/struts/action/RequestProcessor.java#1069
System.out.println("Request Dispatcher Forward start ");
rd.forward(request, response);
final long elapsedTime = System.currentTimeMillis() - mStartTime;
System.out.println("Request Dispatcher Forward End " + elapsedTime);
This takes around 550 to 850 ms in wildfly while in jboss 7.1.1 that uses Jboss web , this takes 280 to 400 ms. Can we do any tuning in undertow to minimize the request dispatcher forward time for this transaction?
> Huge garbage created at regular intervals in Wildfly 8.2.0.Final
> ----------------------------------------------------------------
>
> Key: WFLY-4617
> URL: https://issues.jboss.org/browse/WFLY-4617
> Project: WildFly
> Issue Type: Bug
> Affects Versions: 8.2.0.Final
> Environment: Centos 7, JDK 7
> Reporter: Srivathsan Agaram Venkatavaradhan
> Assignee: Stuart Douglas
> Labels: 8.2.0.Final, gc, undertow, wildfly
> Attachments: Char Array Incoming reference, Char Array Retained Objects, Heap Histogram View, merge paths - ArtifactDetailList, newheap1_Leak_Suspects.zip, Overall Heap, Overall Memory Usages
>
>
> Huge garbage is created in wildfly every couple of minutes. Though Full GC is able to reclaim memory, this causes frequent full gcs, as heap is getting occupied due to the increase in number of objects created . We can reproduce this issue in 60 users Jmeter loadtest. This was not the case in Jboss 7.1.1Final.
> After analyzing heapdumps, Huge char arrays are created and they are not garbage collected by Minor GC. Incoming reference for the char array suggest that they have valid reference to io.undertow.servlet.spec.HttpServletRequestImpl. However full gc is able to recover the memory. Not sure why attributes in io.undertow.servlet.spec.HttpServletRequestImpl are not getting gced by minor gc's.
> "org.apache.struts.tiles.ComponentContext" is kept in attributes Map by io.undertow.servlet.spec.HttpServletRequestImpl. org.apache.struts.tiles.ComponentContext contains a big char array.
> We suspect issue with undertow.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list