File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Performance and the fly likes Application Performance improvement Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Performance
Bookmark "Application Performance improvement" Watch "Application Performance improvement" New topic
Author

Application Performance improvement

Viswa Sethu
Ranch Hand

Joined: Nov 01, 2007
Posts: 31
Hi All,
Our application iis encountering this performance issue recently..Following are the issues that we are facing because of the performance:
Blank screen.
Server error 500
Incomplete loading of the page.

We are using Weblogic 7.0 as the app server.I am partially sure that it is because of the heavy loading of the server.As the concurrent users are increased now these problem has become a regular issue.
The server parameters set are :
Max No. of connections :40
Thread Count : 25

Will the issue be because of the timeout happening in weblogic due to concurrent requests? If so is any other parameters has to be reset apart from the above two attributes. Are these values optimal?
Should ihaev to check anyother attributes?
Or is creating clusters the only way to ensure better performance?

Any suggestions would be of great help.

Thanks
Vishy
Roger Chung-Wee
Ranch Hand

Joined: Sep 29, 2002
Posts: 1683
Your thread count is actually quite high compared to the default value of 15. Does your application make many small database calls? If so, then decreasing the thread count may improve performance by reducing the necessity to do context switching for the multiple threads.


SCJP 1.4, SCWCD 1.3, SCBCD 1.3
Viswa Sethu
Ranch Hand

Joined: Nov 01, 2007
Posts: 31
Initially the thread count was 15 only. I checked the weblogic server manual and come to know that for Production env the default threadcount value must be 25. So jus updated the value.
Our application does make db calls for every screen and every click has an db interaction.Though we have seggregated the static data from dyn calls.All teh static contents are loaded while starting up the server itself.Only any actions by the user or any searches would involve db calls.
Even for such scenario do you suggest reducing the threadcount value would improve the performance ?
Abhinav Srivastava
Ranch Hand

Joined: Nov 19, 2002
Posts: 349

Have you checked the memory/cpu usage?
rajesh bala
Ranch Hand

Joined: Jan 14, 2003
Posts: 66
>>>> Following are the issues that we are facing because of the performance:
Blank screen. Server error 500 Incomplete loading of the page.

Its very hard to say with the above error alone, that you have performance problem. 500 internal server error can occur due to the exception in your business layer as well.

Can you please check your server logs and post the exceptions here. That would help in nailing down further.

~Rajesh.B
Roger Chung-Wee
Ranch Hand

Joined: Sep 29, 2002
Posts: 1683
Initially the thread count was 15 only. I checked the weblogic server manual and come to know that for Production env the default threadcount value must be 25.

Yes, you are right. The default value of 15 which I referred to is for development.
Viswa Sethu
Ranch Hand

Joined: Nov 01, 2007
Posts: 31
Rajesh,
Most of the errors are like Exception while writing tot he client and broken pipe exceptions.Following is the stack trace :
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at com.certicom.io.OutputSSLIOStream.write(Unknown Source)
at com.certicom.tls.record.WriteHandler.flushOutput(Unknown Source)
at com.certicom.tls.record.WriteHandler.write(Unknown Source)
at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
at weblogic.servlet.internal.ChunkUtils.writeChunkTransfer(ChunkUtils.java:234)
at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:207)
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:302)
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:377)
at weblogic.servlet.internal.ChunkOutput.print(ChunkOutput.java:262)
at weblogic.servlet.internal.ChunkOutputWrapper.print(ChunkOutputWrapper.java:138)
at weblogic.servlet.jsp.JspWriterImpl.write(JspWriterImpl.java:418)
-----------------
javax.servlet.jsp.JspException: Error:Exception while writing to clientnull
at com.mytime.dyanamicprocs.taglibs.Section.doStartTag(Section.java:455)
at jsp_servlet._jsps._mytime.__time_details._jspService(__time_details.java:321)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1104)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:430)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:324)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:344)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
Viswa Sethu
Ranch Hand

Joined: Nov 01, 2007
Posts: 31
Abhinav,
The CPU usage is not exceeding the normal hit.Also this error started becoming frequent as the number of users are increased from 35 -55.And these are 5 concurent users and they stay connected tot he application most of the time.Assuming atleast they keep working ont he application atleast for 4 continuous hour in a day.

Should anyother factor to eb checked under such scenario.

Thanks
Vishy
Roger Chung-Wee
Ranch Hand

Joined: Sep 29, 2002
Posts: 1683
they stay connected tot he application most of the time

What does this mean?
rajesh bala
Ranch Hand

Joined: Jan 14, 2003
Posts: 66
1. Do you use some load generator tool to check this?.
2. Do you have any webserver sitting on top of this weblogic?.
3. What is the connection backlog setting of weblogic server?

~Rajesh.B
Viswa Sethu
Ranch Hand

Joined: Nov 01, 2007
Posts: 31
Rajesh,
1.I have not yet tested with any loadrunner tool.
2.There is an iplanet web server running on top of the weblogic.
3.Where could i check the connection backlog setting.If it is about the number of connections :
Initial capacity - 50
Maximum Capacity - 100

Roger,
Taht means all the 50 users are working on the system the whole day.They remain logged in to the system the whole day.Their main work is to work on our application the whole day.

Thanks
Vishy
Viswa Sethu
Ranch Hand

Joined: Nov 01, 2007
Posts: 31
Rajesh,

Just checked the backlog value it is set to 50.it is not set explicitly in my config.xml. So default value is set.Any optimal value is suggested for this parameter.

-Vishy
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Application Performance improvement