On Mon, May 24, 2010 at 2:33 PM, Bee Jay <bee.ogra...@gmail.com> wrote:
>
> Because FCGI app is the true worker app. CGI proxy is lightweight app. It 
> does nothing but redirecting incoming request and outgoing response, aka 
> proxy. Since it's lightweight, the CGI penalty can be ignored.
>
>> A FCGI lightweight app would be the proxy for some CGI apps. The FCGI
>> stay in memory, so it is more fast for requests, while CGI app would
>> be more specialized.
>
> Take a simple common case, an app that need to connect to a database, run an 
> sql query, format the result, send it to client, and close the db connection. 
> If it's a CGI app, the whole process is done on every single client request. 
> 100 incoming request, then 100 times it's done over and over.
>
> If it's a FCGI app, you could make it connect to database once when it goes 
> up, run the sql query once when the first request comes, format the result, 
> send it to client, then cache the formatted result. If another similar 
> request coming in, since the FCGI app stays in the memory, it could simply 
> re-send the cached result without re-connect and re-query to the database. 
> The cache can be refreshed (re-query the database) upon some conditional 
> triggers, i.e. time interval, number of similar request, or some special kind 
> of request (update query, etc). The db connection only need to be closed 
> before the FCGI app is about to terminate itself at the end of its session. 
> You can imagine how big performance boost you will get. ;)

I agree about the performance.
But just one connection to database will be slow and you have to
manager that... or create a thread for each request and each thread
have a connection. Do you agree?

And about the cache... well, is possible use it even in CGI apps (but
is slower, of course).

I did not understand why to use CGI and FCGI. Why the FCGI apps can
not receive the requests? Would be faster, don't?


Marcos Douglas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to