The first step is to estimate following numbers
- Number of new users per time unit
- Average session length
- Number of requests per user and time unit
Break the requests down to request for
- static resources
- simple dynamic pages
- dynamic pages with database access
estimate the time for a database access
- dynamic pages with access to other backend systems
estimate the time for an access to backend systems
- Average size of the requested data
- Average size of data stored in the session
With that data you can etstimate
- Needed Memory
- Number of concurrent database connections
- Number of concurrent to other backend systems
- Needed Line Speed
- Requests per time unit that must be served by tomcat
Some recommendations:
- If you have backendservices (like a database) put them on
a different machine or have a machine with two processors.
In the later case it's better to have an operating system
that allows you to stick processes to processors)
- If it's better to scale by additional maschines or by a
faster maschine depends on your requirements (How failsafe
shall the system be, what performance is required if a part
of the system fails, what's the bottle neck in the
application (If it's disk IO you might want to use a 5
channel scsi raid controller, if it's the iternet line
you have to change that), do you need sticky sessions)
- Multiple instances of tomcat don't make much sense, if their
sole purpose is scalability. One tomcat scales better than
two (on one machine). The only scenario where this could make
sense, is an operation system that allows sticking of processes
to processors as this way you reduce the context switches. But
I have doubts that you will win more than you loose.
> -----Urspr�ngliche Nachricht-----
> Von: J Doe [mailto:[EMAIL PROTECTED]]
> Gesendet: Freitag, 26. Juli 2002 15:08
> An: [EMAIL PROTECTED]
> Betreff: architecting large sites
>
> I'm no expert in web-site architecture, but it strikes
> me that there are 2 or 3 possibilities to this
> problem: (a) multiple machines, using a load-balancer,
> (b) multiple instances of Apache/Tomcat on a given
> machine(s), and (c) beefing up each machine with max
> memory and possibly more CPUs.
>
> Is there a ballpark estimate for the max number of
> simultaneous users for a single machine with
> Apache/Tomcat? I'm guessing this will be far less
> than 1500. Given that, what's the "next-best" way to
> boost that number? Would having multiple CPUs be
> effective? Can there actually be multiple instances
> of Tomcat on a single machine? If so, does that help
> address this issue?
>
> I realize these questions are vague and deal with a
> huge scope, but I'm looking for doc sources or "best
> practices", rather than concrete answers.
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>