• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Thread Dump Question

 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
At times our users experience very slow response times. During one such incident I captured a few thread dumps ( 3-4 dumps at 5-10 second intervals). In all the thread dumps I find one thing in common, most of the threads look like they are busy writing to a socket...
===================================================
"ExecuteThread: '22' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0xec85f8 nid=0x21 runnable [ce780000..ce7819bc]
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at weblogic.servlet.internal.ChunkUtils.writeChunkNoTransfer(ChunkUtils.java:260)
at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:225)
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:296)
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:371)
at weblogic.servlet.internal.ChunkOutput.writeStream(ChunkOutput.java:326)
at weblogic.servlet.internal.ChunkOutputWrapper.writeStream(ChunkOutputWrapper.java:154)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:584)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:573)
at weblogic.servlet.FileServlet.sendFile(FileServlet.java:571)
at weblogic.servlet.FileServlet.service(FileServlet.java:208)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
=========================================================

I have very limited knowledge about the app and I don't see any method calls in the thread dump to pinpoint the source of the bottleneck. Any ideas on how I should proceed and what information if any I can get from the above thread dump.
Thank you so much..
Wap
 
Ranch Hand
Posts: 43
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Login to the weblogic console and check the DB Connection Pool size. If the pool max. size has reached this behaviour is noticed. Try to increase if it does.
 
Ranch Hand
Posts: 937
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Wappie,

Is your app connectiong to any other remote connection. i think problem is that?
[ August 22, 2005: Message edited by: Sunitha Raghu ]
 
Wappie Erode
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
Thanks for the replies. I will try out your suggestions. The app does connect to a document server. That may be a bottleneck. Regarding JDBC: our settings indicate initial capacity:5 , Maximum capacity: 500, Capacity Increment: 5.
Thank you so much.
Wap
 
Wappie Erode
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
I collected a few thread dumps when our servers were slow today and almost all the threads were in the same state as in the first post. I used the console to check what the threads were doing and it appeared that that they were fetching a .js (javascript) file. I consulted the developers and they say all the pages in the app have javascript embedded in them. I fail to understand how this could cause the problem. There were no JDBC connections that were being used actively. Is there any way I can drill down to the source of the problem ( Maybe a particular page is causing the problem). We don't have any performance/application analysis tools. Any pointers to information?
Thank you so much..
Wap
 
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Try using Proxy Sniffer. Though its a load testing tool, you can check for HTTP requests being made along with time taken for each.

You can even try putting a debugger statement with javascript code to step through them. Put up alert statements calculating the time difference between each functions.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic