Since I am facing performance problem due to the load of visitors and a badly configured server, I decide today to document my findings in this new series of articles.

FastCGI is an extention to CGI that increases speed. Instead of creating a new process every time a page is reloaded, FastCGI will use the same process, queuing up requests. This increases startup speed, at the expense of forcing users to wait for the previous requests to finish. FastCGI also allows programs to get the web server to do certain operations, like reading in a file, before the request is handed over. [WikiPedia]

FastCGI provides a way to keep PHP frequently-run script files loaded on Your server so that script are already preloaded and initialized the next time they are used. This can make some scripts run up to five times more quickly (in most cases it's as fast as mod_php, without the drawbacks). Moreover You can run different version of PHP (PHP4 and PHP5) in the same server...

Server: Strato (
Operating system: SuSE / openSuSE
Requirements: root access and basic Unix knowledge


1 Use yast2 to install mod_fastcgi on the system, this will create files (*.so) in   /usr/lib/apache2-worker/ and  /usr/lib/apache2-prefork/
2 Edit the file  
# vi /etc/sysconfig/apache2

and add fastcgi, suexec
remove php4/php5 if any

APACHE_MODULES="fastcgi cache mem_cache deflate headers access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl   userdir php4 php5 perl     rewrite suexec"
3 create a new file in /etc/apache2/conf.d/mod_fastcgi.conf

vi /etc/apache2/conf.d/mod_

and add these lines, at the end of file, adapt all path according to your system. Keep in mind, I have a SuSE system

<IfModule mod_fastcgi.c>
    ScriptAlias /fcgi-bin/ /srv/www/fcgi-bin/
    FastCgiIpcDir /var/lib/apache2/fastcgi
    # FastCGI applications can be static, dynamic, or external.
    # Dynamic FastCGI applications can be put in this directory.
    # Use the FastCgiConfig directive in your httpd.conf.local
    # to change the defaults for them.
    # mod_fastcgi.htmlFastCgiConfig

    <Directory "/srv/www/fcgi-bin">
        AllowOverride None
        Options +ExecCGI -Includes
        SetHandler fastcgi-script
        Order allow,deny
        Allow from all
    AddHandler fastcgi-script fcg fcgi fpl

    # Static or external FastCGI applications are started when apache
    # is started. They are configured with the
    # FastCgiServer and FastCgiExternalServer directives:
    # mod_fastcgi.htmlFastCgiServer

    # mod_fastcgi.htmlFastCgiExternalServer

    # which can be put into httpd.conf.local.
    # Examples:
    FastCgiServer /srv/www/fcgi-bin/echo -processes 5
    FastCgiServer /srv/www/htdocs/some/path/echo.fcgi
    # see
    # for more  information...

    Alias /php5-fcgi/ /srv/www/cgi-bin/
    FastCgiServer /srv/www/cgi-bin/php5  -processes 5
    AddType application/x-httpd-fastphp5 .php5
    Action application/x-httpd-fastphp5 /php5-fcgi/php5

    Alias /php4-fcgi/ /srv/www/cgi-bin/
    FastCgiServer /srv/www/cgi-bin/php  -processes 5
    AddType application/x-httpd-fastphp4 .php
    Action application/x-httpd-fastphp4 /php5-fcgi/php


4 start
# apache2-reconfigure-mpm
this recreate the file  /etc/apache2/sysconfig.d/loadmodule.conf
and restart apache automatically.


You might like also

Clue a command line tool for Apache Lucene search software
Lucene Core  is an open-source search software, provides #Java-based indexing and search technology, as well as spellchecking, hit highlighting and advanced analysis/tokenization capabilities. Luke is a handy development and diagnostic tool, which accesses already existing Lucene indexes and allows you to display and modify their content. Luke is awesome, but often times it is not feasible to inspect an index on a remote machine using a GUI. That's where Clue comes in. You can SSH into your production box and …
2181 Days ago
Apache POI contribution patches
The Apache POI Project's mission is to create and maintain #Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using #Java. In addition, you can read and write MS Word and MS PowerPoint files using #Java. Apache POI is your #Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and …
2428 Days ago
Need for Speed? mod_pagespeed from Google
mod_pagespeed is the latest addition to our family of products, performing on-the-fly optimization in the Apache™ 2 HTTP Server. It provides webmasters and web developers that manage their Apache 2 configuration with technology that applies Page Speed performance best practices automatically. Webmasters can get the benefits of the optimizations without having to manually going back and fixing the performance issues that Page Speed detects. This solution is valid if you do not want to carefully optimize your site, and it …
3368 Days ago
Subversion and mod Security
I was receiving some strange errors (HTTP error 501) while committing to my public subversion (, all my problems were related to mod security This error 501 means most of the time that the client changed authentication halfway through the commit. That is, it started the commit by sending http requests with a Basic auth header of user1, and then a few requests later it sent a Basic auth header with a different user. Yes but.. …
3907 Days ago
No Thumbnail was found
From Percona XtraDB includes all of InnoDB’s ACID-compliant design and advanced MVCC architecture, and adds features, more tunability, more metrics, more scalability on many cores, and better memory usage. We choose features and fixes based on customer requests and on our best judgment of real-world needs. We have not included all the InnoDB patches available. For example Google’s well-known InnoDB patch set is omitted (at least for now). The first version of our new storage engine is 1.0.2-1, which …
3991 Days ago
Site optimization: it's all about your image size and format
I really like this small Firefox extension Smushit as it allow to quickly check if all my images are optimized for the best size and thus speed of rendering. But wait IE/Opera/Chrome can still use this bookmarlet :-) to optimize the images found on any web page! From Image optimization is an art that not many people master. There are many good image editing tools that allow us to get the best visual result for a certain file size …
4018 Days ago
No Thumbnail was found
From WikiPedia Inline linking (also known as hotlinking, leeching, piggy-backing, direct linking, offsite image grabs and bandwidth theft) is the use of a linked object, often an image, from one site into a web page belonging to a second site. The second site is said to have an inline link to the site where the object is located. This is not just Bandwidth Stealing, as It cost CPU and bandwidth which means less performance for your visitors, It cost a …
4040 Days ago
How to install mod_security 2.5.7
ModSecurityTM is an open source intrusion detection and prevention engine for web applications (or a web application firewall). Operating as an Apache Web server module or standalone, the purpose of ModSecurity is to increase web application security, protecting web applications from known and unknown attacks. from You'll have to create a free account at to get the real link # cd # wget # tar -zxfv modsecurity-apache_2.5.7.tar.gz # cd modsecurity-apache_2.5.7/apache2 # ./configure # make Copy the library …
4043 Days ago
No Thumbnail was found
A lot of people have tried numerous times to download files from my download section without success, the error message was always the same Unrecoverable error "PCLZIP_ERR_BAD_FORMAT (-10)" Also, Some tried to unpack the zip file locally using stuffit/Winrar/7Zip and get an error suggesting that the archive is damaged. Only Internet Explorer users were having issues, this is because of Internet explorer not able to handle compression of all file types. I solved the issue by changing my mod_deflate.conf which …
4177 Days ago
Benchmarking your LAMP server
The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or servers. It stand for: Linux, for the operating system; Apache, the Web server; MySQL, the database management system (or database server); Perl, Python, and PHP, the programming languages.  ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This …
4315 Days ago