aspose file tools*
The moose likes Performance and the fly likes How to control concurrency?????? 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 "How to control concurrency??????" Watch "How to control concurrency??????" New topic
Author

How to control concurrency??????

Anand Nivarthi
Greenhorn

Joined: Oct 11, 2005
Posts: 1
Hi all,
I was asked to do a project. Which is basically report kind of stuff. Totally there are 18 screens . And i am following the MVC Architecture,View - JSP;controller-Servlet(jus for dispatching the request);model- i am going for Business Objects and DAO's. And I am using a ConnectionManager Class for Connection pooling.And this is the architecture in my mind.
Some the requirements of the project are :
1) All the operations are Read-Only (Select type) (Considering this i have eliminated the EJB's as there are no Transactions involved)
2) At the Database side i am calling Stored procedures which fetches data from tables which contains millions of records.
3) At peaktime this application is used by 1000 users.
4) I have to tune the performance.( My architecture should improve the performance).
5) I am also using VO's.

Now my request is based on the above requirements please suggest me a good architecture and different performance parameters that can be applied to tune the application for performance.

Thanks.
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12805
    
    5
I've never done a project like this so take my advice "with a grain of salt"
Since database queries are so very expensive in terms of cpu time and tying up connections, it seems to me that you should expend serious effort to avoid unnecessary queries by making as much use as possible of cached results.
You might look at the Whirlycache project. It seems to be actively supported.
The following questions occur to me:
How much does the underlying database change with time?
Can you get notified when it does change?
Are the users likely to be doing similar queries?
Bill
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8927
    
    9

Your topic is titled "How to control concurrency?" but if you are only doing read operations, you really shouldn't be worried abou concurrency, right? Concurrency becomes a problem when you have the possability for more than one write operation being performed on the same piece of data at the same time.
There's more to performance than will fit in this topic. The most basic things: Make sure you have the server and network hardware to support 1000 users. You can optimize software until you are blue in the face and it won't run fast on a slow server.
There's a book, Java Platform Performance, available online which covers the best practices of the Java language. It doesn't cover JDBC or networking, but JavaPerformanceTuning does. Be advised, a lot of the advice on that website may be dated, given recent JVM advances.


"blabbing like a narcissistic fool with a superiority complex" ~ N.A.
[How To Ask Questions On JavaRanch]
 
wood burning stoves
 
subject: How to control concurrency??????