Dear All,

Thank you very much for all the information you provided me with.

I guess APR might become a hassle in the long run, so we will go with
standalone Tomcat.

Regarding the 18,000hits/hour peaktime, obviously we cannot justify the
clause: "18,000hits/hour / (60*60) = 5hits/s" Therefore we must assume peaks
that are concentrated into much higher values (per second).

Since static content are minimal and a master class + JSP combination is
handling the assembling of general dynamic html page content, software
design is on safe ground.

We are also utilizing our own proprietary connection pool manager class and
its abstractions so that: tomcat opens the maximum number of connections (we
decide for the number - it is going to be the same number with tomcat's
configuration and mysql's configuration) to the database and never closes
them. Connections are always in the pool, yet either active or waiting, but
always open. So we overcome the overhead of initializing connections. We
have throughly tested this on a multithreaded environment and results are
fantastic.
 
So all this said, can anyone suggest values for (regarding the hardware and
o/s details I provided):
1) how much RAM memory should be allocated (both initial and peak values)
for the JVM
2) tomcat's connections, threads etc values (server.xml configuration) - a
sample server.xml file would be great. (Tomcat's out-of-the-box server.xml
is somewhat exhaustive to follow through)

One last question:
As I previously stated, we are planning a single virtual host and
approximately 1,000 aliases.

Does anyone have an idea as to how many aliases can someone (not the
theoretical number, but practically applicable figure would be appreciated)
define in the server.xml file for a single virtual host?

Kind regards,

Serkan Durusoy
DNA Internet Cozumleri San. ve Tic. A.S.
[A] Gardenya Plaza 2 Kat:6 Atasehir - Istanbul
[P] 216 456 4 156
[F] 216 456 4 157
[U] www.dna-tr.com



-----Original Message-----
From: Serkan Durusoy [DNA - encoding the future]
[mailto:[EMAIL PROTECTED] 
Sent: Sunday, March 26, 2006 11:02 PM
To: users@tomcat.apache.org
Subject: Performance Tuning on Tomcat 5.5.16 for site with 150,000 daily
hits

Hello All,

I am new to this mailing list, so please bare with (and warn) me if I fall
into a mistake.

Here is our environment followed by my question:

We are currently developing a hosted content management system (CMS)
solution using mainly JSP's and Java Classes. Our production environment
will be:

> Tomcat 5.5.16
> JDK 1.5.06
> Windows 2003 Server Web Edition (for the time being, we are not
considering linux/unix - we just don't have experiences linux/unix system
administrators)
> MySQL 5.0.19 (MyISAM storage engine)

The server machine consists of all Intel branded OEM hardware which sum up
to:
> Intel E7320 Chipset Server Motherboard
> Dual Xeon 3.0 CPU
> 4GB (4x1GB) ECC Ram
> Onboard RAID 1 or RAID 0 (we haven't decided between 0 and 1 yet - but we
cannot have 10 or 0+1 or any other RAID configuration)
> 2 x 500GB SATAII NCQ Hard Drives

Our system design implements an approach where there is only one application
(hence only one document root / webapp) and only one database.

Yet the number of web sites to be hosted on a single server is assumed to be
around 1000. Hence, there is only one virtual host and there are 999
Alias'es defined beneath that host.

Index.jsp detects the URL entered in the browser (defined on our DNS as
pointed to our tomcat server) and assembles the page using static files
(images, CSS etc) and html content (stored on the database) for that
specific URL. We chose this approach to better utilize resources like
database connection pool etc.

We are assuming 1,000 web sites (aliases) which will supposedly to handle a
total of 150,000 page views daily.

To simplify the suggested architecture, one may think of it as a large
dynamic web site with 100,000 pages (stored on DB) and 150,000 daily page
views. According to surveys and internet usage statistics in our country
(Turkey), our estimate of peak-time page views will be concentrated as
follows:

> 18,000 hits/peak-hour

I really do not have any basis (or real-life experience whatsoever) to
predict the number of concurrent requests (peak workload) to the server in
such an example. All I can give you (except if you have any questions that I
might be able to answer) is that we will have a relatively large web site
with a relatively large amount of visitors.

Here is my question:

We have always used tomcat with its out-of-the-box configuration so we do
not have any experience on advanced configuration of Tomcat, nor do we have
any experience in fine-tuning. You can safely assume that our application
and our database are tuned well.

What are performance oriented configuration parameters on Tomcat? Where do
they reside in terms of configuration files, start-up parameters etc? What
would you suggest as values to those parameters in our case?

I have come across with terms like max heap size (I guess this is JVM
related), max-buffer-length, max-threads, max-spare-threads and so on, but I
really do not know what figures to change them to.

I really do not have the luxury (or means) to play around with parameters to
test and see what we will get, therefore I will really appreciate the help.
All I need is someone suggest me an above-average (in terms of performance)
Tomcat (and possibly JVM) configuration so that I will make sure our server
won't be down on its first launch day.

Kind regards,

Serkan Durusoy
DNA Internet Cozumleri San. ve Tic. A.S.
[A] Gardenya Plaza 2 Kat:6 Atasehir - Istanbul - Turkey
[P] +90 216 456 4 156
[F] +90 216 456 4 157
[U] www.dna-tr.com
[E] [EMAIL PROTECTED]





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



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

Reply via email to