You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Talin <ta...@brodia.com> on 2000/03/01 20:58:56 UTC

SUGGESTION: Make mod_jserv non-java-specific

There have been a number of attempts, such as FastCGI and others, to
overcome the performance problems of CGIs, in particular the need to start a
new shell process with each request. Most of these schemes involve something
like mod_jserv, where an apache module communicates with a persistent
process that holds the actual page generation code. However, each of the
schemes I have seen is rather ad hoc, targeted towards a particular
appserver implementation or a particular language. In other words, there's
nothing along the lines of the CGI standard for "resident" programs.

It occurs to me that there is very little in the mod_jserv and the apjxxx
protocols that is specific to Java. Would it be possible to make a
mod_appserver or something like this, based on mod_jserv, that would allow
application servers to be written in any language?

In other words, what I would like to see is a language-neutral application
interface, along the lines of the CGI standard, except that it would be
oriented towards application servers. The Apache module would be one
implementation of this standardized interface.

RE: SUGGESTION: Make mod_jserv non-java-specific

Posted by Angsuman Chakraborty <an...@technologist.com>.
Talking about performance I am really impressed with the figures for
resin...
http://www.caucho.com/articles/benchmark.html

>IMO until Java is OSS and natively compiled...
For windows you can generate executable out of Java class. I personally use
vcafe for the job, there are others probably better.

As for OSS, theoritical discussions aside, IMO Java is open source for all
practical purposes.

volano's benchmarks may not be very representative.

-------------------------------------------
Angsuman Chakraborty
Senior Software Engineer, III
SUN CERTIFIED ARCHITECT for Java Technology

e-mail: angsuman@technologist.com
-------------------------------------------

-----Original Message-----
From: root@relativity.yi.org [mailto:root@relativity.yi.org]On Behalf Of
Kevin A. Burton
Sent: Thursday, March 02, 2000 4:56 PM
To: tomcat-dev@jakarta.apache.org
Subject: Re: SUGGESTION: Make mod_jserv non-java-specific


Pierpaolo Fumagalli wrote:
>
> "Kevin A. Burton" wrote:
> >
> > I can however see a use for something that needs to be "really fast".
> > An example of this would be in-memory CGI writen in C that could serve
> > dynamic pages (from a large in-memory DB).  JServ and Tomcat will never
> > come close to this.
>
> Hmmm... I don't know... My points on performances are failing in those
> days. Expecially comparing Java against C++ (ok, flame me privately,
> please!)
>
>         Pier
>
> UPS, You said C, not C++

:)

The other thing about running a very fast enterprise app in C is that
you get really close to the hardware and can do very specific things.
IE you don't run in a java process that can crash on you if you have too
many TCP connections or screw up on you if you run out of heap.
Honestly all VMs are far from perfect.  No VM except  TowerJ (which
isn't a VM) can handle more than like 2048 connections for long periods
without having problems (don't believe me check out volano's TCP
benchmarks... most crashed).

IMO until Java is OSS and natively compiled we can't advocate Java as a
100% everywhere solution.

Kevin

--
Kevin A Burton (burton@apache.org)
http://relativity.yi.org
Message to SUN:  "Open Source Java!"
"For evil to win is for good men to do nothing."

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org



Re: SUGGESTION: Make mod_jserv non-java-specific

Posted by Mike Engelhart <me...@earthtrip.com>.
Kevin A. Burton wrote:

> without having problems (don't believe me check out volano's TCP
> benchmarks... most crashed).
This is kind of off topic, but I don't know how the Volano benchmark became
something to quote regarding performance of a virtual machine. It's based on
their own VolanoChat server software which AFAIK is not open sourced for us
to see what they're testing with.  Isn't a benchmarks supposed to come with
source code?

mike


Re: SUGGESTION: Make mod_jserv non-java-specific

Posted by "Kevin A. Burton" <bu...@relativity.yi.org>.
Pierpaolo Fumagalli wrote:
> 
> "Kevin A. Burton" wrote:
> >
> > I can however see a use for something that needs to be "really fast".
> > An example of this would be in-memory CGI writen in C that could serve
> > dynamic pages (from a large in-memory DB).  JServ and Tomcat will never
> > come close to this.
> 
> Hmmm... I don't know... My points on performances are failing in those
> days. Expecially comparing Java against C++ (ok, flame me privately,
> please!)
> 
>         Pier
> 
> UPS, You said C, not C++

:)

The other thing about running a very fast enterprise app in C is that
you get really close to the hardware and can do very specific things. 
IE you don't run in a java process that can crash on you if you have too
many TCP connections or screw up on you if you run out of heap. 
Honestly all VMs are far from perfect.  No VM except  TowerJ (which
isn't a VM) can handle more than like 2048 connections for long periods
without having problems (don't believe me check out volano's TCP
benchmarks... most crashed).

IMO until Java is OSS and natively compiled we can't advocate Java as a
100% everywhere solution.

Kevin

-- 
Kevin A Burton (burton@apache.org)
http://relativity.yi.org
Message to SUN:  "Open Source Java!"
"For evil to win is for good men to do nothing."

Re: SUGGESTION: Make mod_jserv non-java-specific

Posted by Pierpaolo Fumagalli <pi...@apache.org>.
"Kevin A. Burton" wrote:
> 
> I can however see a use for something that needs to be "really fast".
> An example of this would be in-memory CGI writen in C that could serve
> dynamic pages (from a large in-memory DB).  JServ and Tomcat will never
> come close to this.

Hmmm... I don't know... My points on performances are failing in those
days. Expecially comparing Java against C++ (ok, flame me privately,
please!)

	Pier

UPS, You said C, not C++

-- 
--------------------------------------------------------------------
-          P              I              E              R          -
stable structure erected over water to allow the docking of seacraft
<ma...@betaversion.org>    <http://www.betaversion.org/~pier/>
--------------------------------------------------------------------
- ApacheCON Y2K: Come to the official Apache developers conference -
-------------------- <http://www.apachecon.com> --------------------

Re: SUGGESTION: Make mod_jserv non-java-specific

Posted by "Kevin A. Burton" <bu...@relativity.yi.org>.
Jean-Luc Rochat wrote:
<snip> 
> In fact there is nothing in mod_jserv specific to java if you use it in
> "manual" mode (without forking a JVM). One could easily write a TCP
> server in Perl or Python or C++ and develop the server-side ajp protocol
> to get a load-balanced app server. The strength of JServ or Jakarta is
> that the Servlet API is a standard, and people like standards.
> The benefit could be found with a load-balanced distributed ASP server
> ;-)

What you would have to do is set it to manual and write a AJP server
processes that listens on your defined port (normally 8007).  Normally I
would say there is no point since we already have the server process...
JServ or Tomcat.  

I can however see a use for something that needs to be "really fast". 
An example of this would be in-memory CGI writen in C that could serve
dynamic pages (from a large in-memory DB).  JServ and Tomcat will never
come close to this.

BTW Yahoo has a patent on the above (screw them!!!)

Kevin

-- 
Kevin A Burton (burton@apache.org)
http://relativity.yi.org
Message to SUN:  "Open Source Java!"
"For evil to win is for good men to do nothing."

Re: SUGGESTION: Make mod_jserv non-java-specific

Posted by Jean-Luc Rochat <jn...@cybercable.fr>.
Talin wrote:
> 
> There have been a number of attempts, such as FastCGI and others, to
> overcome the performance problems of CGIs, in particular the need to start a
> new shell process with each request. Most of these schemes involve something
> like mod_jserv, where an apache module communicates with a persistent
> process that holds the actual page generation code. However, each of the
> schemes I have seen is rather ad hoc, targeted towards a particular
> appserver implementation or a particular language. In other words, there's
> nothing along the lines of the CGI standard for "resident" programs.
> 
> It occurs to me that there is very little in the mod_jserv and the apjxxx
> protocols that is specific to Java. Would it be possible to make a
> mod_appserver or something like this, based on mod_jserv, that would allow
> application servers to be written in any language?
> 
> In other words, what I would like to see is a language-neutral application
> interface, along the lines of the CGI standard, except that it would be
> oriented towards application servers. The Apache module would be one
> implementation of this standardized interface.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org

In fact there is nothing in mod_jserv specific to java if you use it in
"manual" mode (without forking a JVM). One could easily write a TCP
server in Perl or Python or C++ and develop the server-side ajp protocol
to get a load-balanced app server. The strength of JServ or Jakarta is
that the Servlet API is a standard, and people like standards.
The benefit could be found with a load-balanced distributed ASP server
;-) 

Jean-Luc