axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rahul Mourya (JIRA)" <axis-...@ws.apache.org>
Subject [jira] [Updated] (AXIS-2912) Axis 1.4 performance
Date Thu, 17 Mar 2016 10:52:33 GMT

     [ https://issues.apache.org/jira/browse/AXIS-2912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rahul Mourya updated AXIS-2912:
-------------------------------
    Attachment: ser.patch

Can someone review this patch.

> Axis 1.4 performance
> --------------------
>
>                 Key: AXIS-2912
>                 URL: https://issues.apache.org/jira/browse/AXIS-2912
>             Project: Axis
>          Issue Type: Bug
>          Components: Serialization/Deserialization
>    Affects Versions: 1.4
>         Environment: ***** Pivotal Values ***** 
>  Reported Version: 9.8
>  OSName: SUSE Linux Enterprise Server
>  OSVersion: 
>  Hardware: 
>  Environment: Any Operating System
> --------------------
>            Reporter: Rahul Mourya
>         Attachments: ser.patch
>
>
> On serialization process we saw lots of threads blocked executing org.apache.axis.encoding.ser.CalendarSerializer.getValueAsString
(20 times in 5 dumps, 6 times max). This method seems to access to a static SimpleDateFormat
object in a synchronized block, so it's shaded for any thread serializing SOAP response. They
presume this code is used to serialize date attibutes on SOAP response. It is affecting the
overall performance while forming the SOAP response with the increase in the number of threads.

> Below is the thread stack for the blocked threads :
> =========================
> "qtp124606801-507" #507 prio=5 os_prio=0 tid=0x0000000000e44800 nid=0x6c84 waiting for
monitor entry [0x00002af16048c000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
> 	at org.apache.axis.encoding.ser.CalendarSerializer.getValueAsString(CalendarSerializer.java:67)
> 	- waiting to lock <0x00000000a25f8c98> (a java.text.SimpleDateFormat)
> 	at org.apache.axis.encoding.ser.CalendarSerializer.serialize(CalendarSerializer.java:58)
> 	at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504)
> 	at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
> 	at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:734)
> 	at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:230)
> 	at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504)
> 	at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
> 	at org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:1055)
> 	at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145)
> 	at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
> 	at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
> 	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
> 	at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:632)
> 	at org.apache.axis.handlers.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:69)
> 	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
> 	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> 	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> 	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:296)
> 	at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
> .
> .(Thread stack skipped)
> ================================
> Could you please help providing some insight on it. Let me know if you need any further
details.
> Regards
> Rahul



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message