Using Phusion Passenger with HAProxy

Posted on February 25, 2009

Today I decided to turn on HAProxy to load-balance between Apache instances running Phusion Passenger on two separate machines. The results are clear. Doing this nearly doubled our ApacheBench throughput scores.

This config was adaped from the 37Signals blog post here.

# /etc/haproxy/haproxy.cfg
global
        maxconn 4096

defaults
        mode    http
        retries 3
        option redispatch
        maxconn 2000
        contimeout	5000
        clitimeout	50000
        srvtimeout	50000

listen web1 XXX.XXX.XXX.210:80
       mode http
       balance roundrobin
       server web1 XXX.XXX.XXX.210:8080
       server web2 XXX.XXX.XXX.211:8080

Passenger is configured the normal way.

<VirtualHost *:8080>
        ServerName www.example.com
        DocumentRoot /var/www/rails_project/current/public
</VirtualHost>

Setxattr Errors

Posted on May 03, 2007

So, old hudge was kicking up a helluva fuss about setxattr errors this morning.

I was getting the following errors, over and over and over again in my syslog file.

hudge kernel: post_create: setxattr failed, rc=28 (dev=sda1 ino=8339458)

In fact, I got so many of these errors that they filled up my root partition. The full disk caused mysql to stop working altogether and the corruption of a couple of tables in my wordpress database. Question is, with SELinux disabled on my box, why would I get 50GB worth of setxattr errors?