[newbie] Small question about FastCGI

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

I just installed Lighttpd and mod_fastcgi to improve performance when
running PHP scripts over CGI.

Am I correct in understanding the following about what mod_fastcgi
1. loads severals instances of the PHP interpreter, each in its own
process (hence the numerous instances of /usr/bin/php5-cgi in "ps aux"
and the "php.socket-" pseudo-files in /tmp)
2. translates between HTTP requests/responses and the PHP scripts
3. does nothing about the PHP scripts, which are loaded, parsed,
compiled, ran, and unloaded every time they are called

I'm especially concerned about the last point: If I make a lot of
calls to the database, does it mean that FastCGI doesn't provide
persistent connections to it, so I'll have to investigate other ways
to avoid opening/closing DB connections every time? Or is
opening/closing DB connections a non-issue and the main issue is
actual commands sent to the DB?

Thank you.

Re: [newbie] Small question about FastCGI

On 10/23/2012 7:12 AM, Gilles wrote:
Quoted text here. Click to load it

Why do you think you need persistent connections?  Do you have a
performance problem you've traced down to connecting to the database?

Persistent connections can improve performance in *very heavily* used
websites (i.e. hundreds of hits per second), but also lock system
resources even when the connections are not being used.

In most cases persistent connections will have little or no impact on
performance, and can actually degrade performance (as well as causing
other problems like having left-over data from the previous usage of the

Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.

Re: [newbie] Small question about FastCGI

Quoted text here. Click to load it

According to http://php.net/manual/en/function.mysql-pconnect.php you
can only do persistent connections with mod_php.  This is because the
apache server stays around and can reuse the mysql connection.  With
FastCGI, this doesn't happen.  Apache forks php5-cgi which dies after
the script is completed.

Rethink your requirement for persistent database connections or use
mod_php instead of FastCGI.

DeeDee, don't press that button!  DeeDee!  NO!  Dee...
[I filter all Goggle Groups posts, so any reply may be automatically ignored]

Re: [newbie] Small question about FastCGI

Michael Vilain wrote:

Quoted text here. Click to load it

You did read there "Use of this extension is discouraged", did you not?

Quoted text here. Click to load it

Do you read what you reply to?  The OP is not using Apache, they are using

Quoted text here. Click to load it

No, "FastCGI uses persistent processes to handle a series of requests."
They are not owned by the web server, but by the FastCGI server. [1]
Quoted text here. Click to load it

Or maybe you want to get yourself informed before you give advice?

[1] <http://en.wikipedia.org/wiki/FastCGI pp.

    realism:    HTML 4.01 Strict
    evangelism: XHTML 1.0 Strict
    madness:    XHTML 1.1 as application/xhtml+xml
                                                    -- Bjoern Hoehrmann

Re: [newbie] Small question about FastCGI

On Wed, 24 Oct 2012 20:49:19 +0200, Thomas 'PointedEars' Lahn
Quoted text here. Click to load it

Thanks for the info.

Site Timeline