-----------------------------
Please read the FAQ!
<http://java.apache.org/faq/>
-----------------------------
Hi,
I thought I'd mention this, as others may find it useful. I'm not sure if
this is worth submitting a patch or not, but would be more then happy to do
so, if someone can tell me how :-) (or point me to the right page).
We recently completed work on a site using Apache(1.3.6)/JServ(1.0 Final),
Oracle (7.3.x), JSDK (2.0) and Sun JDK (1.1.6). (It is not yet in
production, but should be soon). Towards the end of the the project, we
configured load balancing to improve performance.
The site runs on a dual processor sun box with a gigabyte of ram. Once we
started load testing, we found that the default configuration of apache
produced a bottle neck because only one instance of the jvm was ever
running, and thus only ever used one cpu. As a result, we configured load
balancing in order to run multiple jvms.
Our solaris box has a number of ip interfaces configured. When we first
configured load balancing, we could not connect to any running jserv
instances. After digging through the code for a while, we found that jserv
does not bind to a specific ip address when it creates server sockets during
start-up. In order to get around this, we made changes to three files:
[jserv conf file].properties (the file used to configure jserv instances) to
include an "address" argument, along with the port argument.
JServ.java to pass the address information through to
AuthenticatedServerSocket
AuthenticatedServerSocket.java to use the address to bind to the address
information read from the [jserv conf file].properties
So far (for about 2-3 weeks now) this has solved our problem. The only draw
back is that the -s option no longer works when shutting down jserv. This
is likely because it is not aware of the "address" paramter and is not
connecting properly. We haven't gotten around to digging through this yet.
(at the moment its just not a priority).
The second thing that we found, after load testing JServ with the load
balancing, is that with multiple jserv instances performance tends to
improve. We think that the jvm (sun jdk 1.1.6) gets bogged down with too
many threads and that load balancing tends to work better when it is
randomized across more processes. We are currently running 8 processes
(over 2 processors). We've found that for now, that provides more then
enough performmance to meet our requirements. Increasing the number of
jserv processes beyond that will increase performance, but it starts to
require more load testing time and complexity then we are willing to devote.
(we need to start creating banks of machines :-p).
Brian Claus
Corelan Communications
Application Development Specialist
.
--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Archives and Other: <http://java.apache.org/main/mail.html/>
Problems?: [EMAIL PROTECTED]