• MySQL Fast Bulk Inserts

    Posted on June 15th, 2010 admin No comments

    This post will be very short, i just will share a command to enable MySQL to make fast bulk inserts on MyISAM tables.

    In some tables that you need to insert a lot of data, exists a right technique to do that.

    –  Befor starting the inserts go to mysql > alter table target_table disable keys;

    This command above will disable all indexs updates during the inserts, that speeds up the insert operation, after you end inserting all data you need to recreate does indexes typing the following command mysql > alter table target_table enable keys;

    Easy? Yeah. This command had helped me a lot, as i manipulate a lot of data, millions and millions of rows this is very useful and the gains are in hours, now i have more time to see Brazil playing on the World Cup. :)

  • Installing lighttpd 1.4.22 as static file server running by proxy with Apache 2.2.3

    Posted on March 21st, 2009 admin No comments

    In this tutorial i will show how i have installed my lighttpd to run side by side with my Apache installation.

    First of all let me introduce both, Apache i suppose that everyone nows, its one of the most stable, secure and used web server on the market. Lighttpd is growing, lighttpd is getting famous by the his speed, if look for benchmarks in google you will see that . What a lot of webmasters are doing now is let Apache run the script part, the complicated part, and configuring lighttpd as a static file server, a server for .js, .gif, .jpg, .css this type of files, www.gwebtools.com is running this way the website speed had increased a lot.

    I am running on CentOS

    Installing and configuring lighttpd

    1. wget http://www.lighttpd.net/download/lighttpd-1.4.22.tar.gz
    2. gunzip lighttpd-1.4.22.tar.gz
    3. tar -xvf lighttpd-1.4.22.tar
    4. Inside the lighttpd folder run ./configure maybe you get some dependencies errors so you will need to download it with yum install “dependencie-lib”
    5. make all && make install
    6. if you get no errors still here, type the command lighttpd and you will get some message like this 2009-03-21 09:33:34: (server.c.552) No configuration available. Try using -f option.
    7. Now its time to create your lighttpd.conf file, type mkdir /etc/lighttpd, after that inside your lighttpd folder type cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
    8. Ok, now you have a default conf file, you just need to change the default port of the lighttpd web server.
    9. Set server.port = 81, this is necessary because apache already runs on port 80, see the log path to see if they are right for your *nix distribution
    10. Set server.document-root = “Your www folder”, in my case /var/www/vhosts/gwebtools.com/httpdocs
    11. Now start the lighttpd server running lighttpd -f /etc/lighttpd/lighttpd.conf

    Configuring apache to run on proxy mod

    1. Enable mod proxy on httpd.conf,
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_http_module modules/mod_proxy_http.so
      LoadModule proxy_connect_module modules/mod_proxy_connect.so
    2. In your virtual host config you need to edit conforming your needs, for this blog.gwebtools.com that is running with wordpress i do the following
      ProxyRequests Off
      ProxyPreserveHost On
      ProxyPass /wp-content
      ProxyPass /wp-includes
      ProxyPassReverse /
    3. Now every request to static files, js, images from my blog, lighttpd will be the server how will attend to the request.
    4. Now everything is running fine and faster.

    Creating a script file to manage lighttpd process

    # Author: Nathaniel Brown
    # Date: December 16, 2005
    # URL: http://nshb.net/lighttpd-restart-script.html
    # Version: 1.0
    # License: MIT
    #Binary Paths
    # Modifiy this line for each install
    if [ -e $PIDFILE ]; then
        PID=`$CAT $PIDFILE`
        if [ "x" == "x$PID" ]; then
    case "$1" in
            if [ 0 -ne $PID ]; then
                running=`$PS --pid $PID | grep $PID`
                if [ $running ]; then
                    echo "lighttpd is already running"
                    exit 1
                rm $PIDFILE
            $HTTPD -f $LIGHTTPD_CONF
            if [ 0 -eq $PID ]; then
                echo "lighttpd was not running"
                exit 1
            kill $PID
            while [ -e $PIDFILE ]; do
                if [ "x$tries" == "x.........." ]; then
                sleep 2
            if [ -e $PIDFILE ]; then
                echo "lighttpd did not go gentle into that good night, murdering"
                kill -9 $PID
                rm $PIDFILE
            $0 stop
            $0 start
            if [ 0 -eq $PID ]; then
                echo "lighttpd was not running"
            kill -HUP $PID
           if [ 0 -eq $PID ]; then
                echo "lighttpd is not running"
           if [ 0 -ne $PID ]; then
                echo "lighttpd (pid $PID) is running..."
            echo "Usage: "`basename $0`" (start|stop|restart|reload|status)"
            exit 1