launching fcgi processes

#1
Hi.

I have noticed, that if I request a FCGI script from Litespeed (context "http://server/something" being handled by "/docroot/something.fcgi"), some of the "something.fcgi" processes have been launched by "lshttpd", some by "lscgid".

The problem is, the processes launched by "lscgid" exist only for a short time. My guess is that "lscgid" uses the FCGI process to serve one request, then stops it.

It is an performance issue, when the "http://server/something" is accessed often. I have 2 "something.fcgi" processes (even though "maxConns" and "instances" are both set to 10) launched by "lshttpd" serving some requests one after another and then up to 20-30 processes launched "lsgid", continually stoping and starting.

Is it a bug? Feature? Configuration issue? I have the "fcgi" extension associated with the CGI daemon, to prevent downloading the source of FCGI scripts (some URLs are e.g. "http://server/abc" but "abc.fcgi" is stored in "/webroot/xyz/abc.fcgi" and hence accessible as "http://server/xyz/abc.fcgi" as well).

Thanks in advance.
 

mistwang

LiteSpeed Staff
#2
It is a configuration issue. You need to add a fast CGI application for each of your Fast CGI script, then define corresponding FCGI context for reach fcgi application. Should not let CGI to handler 'fcgi' suffix.
 
#3
That's a bit incovenient, but thanks for confirming.

However, I still don't understand, why _some_ of the FCGIs are launched by "lscgid" as CGIs and some are launched by "lshttpd" as FCGIs. Why are both ways used, why not just one...
 
#5
Output from "ps -ef" (on Solaris shows) that I have "long-lived" something.fcgi processes launched by "lshttpd" and "short-lived" something.fcgi processes launched by "lscgid". That's what I'm talking about.
 

mistwang

LiteSpeed Staff
#6
You need to have all something.fcgi processes started by "lshttpd" by defining a external app with type "FCGI".
If a something.fcgi script was started as plain CGI by "lscgid", then it will only serve one request then die.
 
Top