Re: Design help needed for large scale app

2002-01-29 Thread Jonathan Gibbons


Hi,

I also think you are worrying about the wrong critical path.   The first thing is the 
number of users.   Is up to 200 or is it up to 2000.  With up to 200 there is no real 
issue.   Even with a single box holding the DB and webserver your app will be fine - 
eg Athlon 2GHz, 512 mem.   You could use any web technology and get away with it. (ok 
depends on data volumes as well).

eg Each user has 1M on the stack.  Still only 200M of memory.  Not an issue.  And if 
it is an issue then spend $200 and double the memory (or whatever).

If you have thousands of concurrent users then you are probably looking at both a 
hardware and software architecture.  A single box will struggle with this number of 
open sockets, never mind the higher level software issues.   At these concurrent user 
volumes there are issues with bottlenecks and so on.

eg. a box for the webserver and one for the database, do a software architecture that 
allows this with load balancing and your website will scale.

Then think about the kind of site, is it optimised for update or for access (ie large 
volumes of data being updated, or simply being read).
Consider allowing the site to have master/slave databases - which means updates to the 
master, non time critical reads from the slave.  You have to think about primary keys 
here.

So the issue is not really about action classes.  It is more to do with initially 
hardware, followed by both hardware and software architectures.

Jonathan

===
To generate your EJB and Strut code try the LowRoad
  http://www.farway.co.uk/tallsoft/lowroad/


 Message History 



From: "John M. Corro" <[EMAIL PROTECTED]> on 29/01/2002 11:07 CST

Please respond to "Struts Users Mailing List" <[EMAIL PROTECTED]>

To:   "Struts Users Mailing List" <[EMAIL PROTECTED]>
cc:
Subject:  Re: Design help needed for large scale app


With an application like this, wouldn't the critical path (in terms of any
performance bottlenecks) be more along the lines of your database
communications?  I've been finding that any bottlenecks I've had regarding
performance were almost always due to hitting the database in an inefficient
manner.  Of course, I haven't had an opportunity to design applications w/
Pete's size of a user base.

To answer the question specifically, I actually prefer to keep all database
mgt, security mgt, and biz logic out of action classes.  I tend to have 1
action class for any general area of functionality (ie UserAction for User
adds, edits, deletes) and then use that Action class as a controller to some
other class that directs the actual functionality.

- Original Message -
From: "Pete Serafin" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, January 29, 2002 10:33 AM
Subject: Design help needed for large scale app


> I am in the design phase of an application that will need to handle
> 100's and more likely 1000's of users simultaneously.  The application
> will consist of the typical create, edit, and retrieve functions for
> information stored in a database.  My question concerns how to design my
> Action classes.  While I usually place the hi level logic for inserts,
> updates, and individual object retrieval in the same Action class, I was
> thinking about breaking them out into 3 separate Action classes.  The
> logic being that an Action class is created on the stack for each user
> that accesses that class, and the slimmer the class,  the faster the
> application and less memory used.  Would it make sense to architect the
> application this way, or is it more just a matter of style?  Does anyone
> have any ideas on this issue, or advice based on large scale
> applications that you have developed?  Thanks,
>
> Pete Serafin
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>






--

This e-mail may contain confidential and/or privileged information. If you are not the 
intended recipient (or have received this e-mail in error) please notify the sender 
immediately and destroy this e-mail. Any unauthorized copying, disclosure or 
distribution of the material in this e-mail is strictly forbidden.



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




Re: Design help needed for large scale app

2002-01-29 Thread John M. Corro

With an application like this, wouldn't the critical path (in terms of any
performance bottlenecks) be more along the lines of your database
communications?  I've been finding that any bottlenecks I've had regarding
performance were almost always due to hitting the database in an inefficient
manner.  Of course, I haven't had an opportunity to design applications w/
Pete's size of a user base.

To answer the question specifically, I actually prefer to keep all database
mgt, security mgt, and biz logic out of action classes.  I tend to have 1
action class for any general area of functionality (ie UserAction for User
adds, edits, deletes) and then use that Action class as a controller to some
other class that directs the actual functionality.

- Original Message -
From: "Pete Serafin" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, January 29, 2002 10:33 AM
Subject: Design help needed for large scale app


> I am in the design phase of an application that will need to handle
> 100's and more likely 1000's of users simultaneously.  The application
> will consist of the typical create, edit, and retrieve functions for
> information stored in a database.  My question concerns how to design my
> Action classes.  While I usually place the hi level logic for inserts,
> updates, and individual object retrieval in the same Action class, I was
> thinking about breaking them out into 3 separate Action classes.  The
> logic being that an Action class is created on the stack for each user
> that accesses that class, and the slimmer the class,  the faster the
> application and less memory used.  Would it make sense to architect the
> application this way, or is it more just a matter of style?  Does anyone
> have any ideas on this issue, or advice based on large scale
> applications that you have developed?  Thanks,
>
> Pete Serafin
>
>
> --
> To unsubscribe, e-mail:

> For additional commands, e-mail:

>
>


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Design help needed for large scale app

2002-01-29 Thread Galbreath, Mark

Pete,

You may want to read Boris Lublinski's article, "The Key to Superior EJB
Design" in January's "Java Developer's Journal," pp. 20ff.  While not
directly addressing Struts or servlets, he has some very enlightening
incites into data object design.

Mark

-Original Message-
From: Pete Serafin [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, January 29, 2002 11:34 AM

I am in the design phase of an application that will need to handle
100's and more likely 1000's of users simultaneously.  The application
will consist of the typical create, edit, and retrieve functions for
information stored in a database.  My question concerns how to design my
Action classes.  While I usually place the hi level logic for inserts,
updates, and individual object retrieval in the same Action class, I was
thinking about breaking them out into 3 separate Action classes.  The
logic being that an Action class is created on the stack for each user
that accesses that class, and the slimmer the class,  the faster the
application and less memory used.  Would it make sense to architect the
application this way, or is it more just a matter of style?  Does anyone
have any ideas on this issue, or advice based on large scale
applications that you have developed?  Thanks,

Pete Serafin

--
To unsubscribe, e-mail:   
For additional commands, e-mail: