Scgi

i am considering creating a ruby interface to this module :

http://www.mems-exchange.org/software/scgi/

it’s similar to fastscgi but is supposedly simpler to implement. i would
interested if anyone has had any experience with it or enough experience with
fastcgi to make an educated comparison.

-a

···

Ara Howard
NOAA Forecast Systems Laboratory
Information and Technology Services
Data Systems Group
R/FST 325 Broadway
Boulder, CO 80305-3328
Email: ahoward@fsl.noaa.gov
Phone: 303-497-7238
Fax: 303-497-7259
====================================

“ahoward” ahoward@fsl.noaa.gov wrote in message
news:Pine.LNX.4.53.0303111437320.2525@eli.fsl.noaa.gov

i am considering creating a ruby interface to this module :

Download MEMS & Nanotechnology Exchange Software Here

it’s similar to fastscgi but is supposedly simpler to implement. i would
interested if anyone has had any experience with it or enough experience
with
fastcgi to make an educated comparison.

I looked at it but nothing more. Initially it looked nice, but digging
deeper, the format seemed somewhat arbitrary with respect to how and when
symbols are escaped. I don’t recall details anymore, but I seem to recall
that \0 was unnecessarily left unsupported - probably due to the C API. The
format seems pretty optimized specifically for making it easy to use C
arrays in the API. I could come up with any number of other formats and
indeed, in the light of recent RPC discussions, there are plenty of formats.
FastCGI is an established standard and it supports some level of
authentication.

I’d rather see efforts spend on FastCGI and the JServ protocol.
And personally I don’t care if the protocol is simple or not. I’m only
interested in connectivity and speed.

Mikkel

Hi Ara! We have crossing paths. Thanks for the tips on CGI_PARAMS.

I just took a look at scgi. It is easy to implement. However I question
the wisdom of fork and pass fd’s. That seems like a bad idea for
portability. I can see scgi being useful in a server using threads or
IO event model and keeping objects associated with requests. The server
processes also need to be started by something outside of the
web-server, so watch-dog and process spawning needs to be handled for
start up.

If one server is used for all requests then a web client can be pinned
to an object for session continuity. This may lead to performance
issues and in the context of current Ruby threading that does not avail
the process to multiple CPUs. I recently completed updating the Session
Affinity patch for FastCGI, so I have my eye on this. Running multiple
instances and distributing requests could work (with host names or
cookies), but there is no initial round-robin arbiter.

FastCGI has the process start up and watch-dog functionality. The
Session Affinity patch provides multiple instances, round robin
distribution and session pinning.

I do not know if this helps.

Dan

···

On Tuesday, Mar 11, 2003, at 09:51 America/New_York, ahoward wrote:

i am considering creating a ruby interface to this module :

Download MEMS & Nanotechnology Exchange Software Here

it’s similar to fastscgi but is supposedly simpler to implement. i
would
interested if anyone has had any experience with it or enough
experience with
fastcgi to make an educated comparison.

-a

It is interesting that you mention these together. I have been trying
to approach a generalized “servlet” type architecture, not even Ruby
specific. Does JServ support multiple processes for a single end-point,
i.e. load balancing, with some form of session affinity? I have only
used it with a single JVM.

Dan

···

On Tuesday, Mar 11, 2003, at 11:51 America/New_York, MikkelFJ wrote:

I’d rather see efforts spend on FastCGI and the JServ protocol.
And personally I don’t care if the protocol is simple or not. I’m only
interested in connectivity and speed.