You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@jakarta.apache.org by ba...@mssm.edu on 2000/10/04 03:53:48 UTC
huge performance hit when separating apache and jserv
I have JServ 1.1.2 and Apache 1.3.12 on three machines, connected by
switched fast ethernet (which also connects them to the clients).
Individually, all work flawlessly and with great performance.
When I access a load balanced servlet (which is what I want to use the
three machines for), or indeed access any servlet mount point that
connects to a remote host, a VERY significant delay appears in the
return of the servlet response.
I've been watching the logs generated by my servlet, and they process
the requests promptly and finish in the same amount of time regardless
of what web server is connecting to JServ.
When the web server and JServ are on different machines, the browsers
seem to get the responses with a typical delay of a few seconds, and
sometimes almost MINUTES. The delay occurs after the servlet is
finished, and sometimes in mid transfer of its response! This
phenomenon does not occur when apache and jserv are on the same machine,
in which case the responses are always snappy.
Since the machines aren't identical, I've also tried a couple of
different configurations without any luck. The system behaves in the
same fashion regardless of which machine is the web server and which run
JServ.
So my questions are:
Has anyone else seen (and better yet, solved) this problem?
Does anyone have some insight or suggestions on how to I could go about
figuring out what's going wrong?
Does mod_jk and Tomcat implement load balancing yet, and can I expect
them to behave any different?
Thanks in advance,
Barnabas
Re: huge performance hit when separating apache and jserv
Posted by Gunnar R|nning <gu...@candleweb.no>.
barnabas.wolf@mssm.edu writes:
> Has anyone else seen (and better yet, solved) this problem?
I've seen it, but I didn't have the time to solve the problem. We just did
load balancing on web server level using Cisco LocalDirector instead.
Regards,
Gunnar
Re: huge performance hit when separating apache and jserv
Posted by Sheryl Martin <sh...@mediaone.net>.
I'm fairly new to Tomcat, I've been evaluating it at home for the past few
days for use as a successor to SUN's Java Webserver. However, at work
we've solved many performance problems similar to this in the past in a
similar architecture.
If I understand you correctly, you have 1 webserver/jserv box farming out
requests
locally and to 2 other jserv only servers. It might be a bad assumption,
but I'm assuming
that you're running on a Linux box.
1. Trace. You might use strace on the webservers and jserv servers to see
what each application
is doing at a system level. It might give you some clues.
2. Figure out if other misconfigured services could be causing the problem.
Are these
servers NFS mounting anything? (Especially class directories and such, the
loader might
have a delay when checking timestamps to see if the class needs to be
reloaded -
if this is the case, I believe I've seen configuration options to turn
reloading off).
3. Ask yourself if delays have any discernable pattern. For instance if
first time startup
takes forever, after that it runs faster" might indicate that the reading of
class files and
jsp compilations might be affecting performance somehow.
4. Profile. Failing that, you could also profile the servlet via one of the
many tools available.
5. Snoop. You also might snoop traffic between the servers, using something
like ethereal
to view server to server dialogs with timestamps to point out the largest
delays.
If all that fails, you might consider moving the responsibility of load
balancing to another
component and configuring 3 distinct apache/jserv servers. For Linux, there
are a
few possibilities out there. VALinux has UltraMonkey or Squid might fit the
ticket.
Hope this helps...
- Pat
barnabas.wolf@mssm.edu wrote:
> I have JServ 1.1.2 and Apache 1.3.12 on three machines, connected by
> switched fast ethernet (which also connects them to the clients).
>
> Individually, all work flawlessly and with great performance.
>
> When I access a load balanced servlet (which is what I want to use the
> three machines for), or indeed access any servlet mount point that
> connects to a remote host, a VERY significant delay appears in the
> return of the servlet response.
>
> I've been watching the logs generated by my servlet, and they process
> the requests promptly and finish in the same amount of time regardless
> of what web server is connecting to JServ.
>
> When the web server and JServ are on different machines, the browsers
> seem to get the responses with a typical delay of a few seconds, and
> sometimes almost MINUTES. The delay occurs after the servlet is
> finished, and sometimes in mid transfer of its response! This
> phenomenon does not occur when apache and jserv are on the same machine,
> in which case the responses are always snappy.
>
> Since the machines aren't identical, I've also tried a couple of
> different configurations without any luck. The system behaves in the
> same fashion regardless of which machine is the web server and which run
> JServ.
>
> So my questions are:
>
> Has anyone else seen (and better yet, solved) this problem?
>
> Does anyone have some insight or suggestions on how to I could go about
> figuring out what's going wrong?
>
> Does mod_jk and Tomcat implement load balancing yet, and can I expect
> them to behave any different?
>
> Thanks in advance,
>
> Barnabas
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: general-help@jakarta.apache.org