/ Zope / Apsis / Pound Mailing List / Archive / 2008 / 2008-02 / Trouble Shooting 2.4

[ << ] [ >> ]

[ pound and webdav / "David Vernazobres" ... ] [ Allowing active sessions to finish, but not new ... ]

Trouble Shooting 2.4
FatBoyThin <fatboythin(at)gmail.com>
2008-02-20 17:43:36 [ FULL ]
Hello

I updated my install of pound today (from 2.3.2 to 2.4) using rpm.

Rather scarily, it caused all my back ends to go dead or Disabled

When I restarted the pound service it wouldn't run (I got a "segmentation
faulty" error)

In something of a panic I restored the previous version OK, but wondered
what my best approach to troubleshooting this problem would be when I have
the oppourtunity for a more controlled attempt?

Thanks for any help you can offer

FBT
Attachments:  
text.html text/html 525 Bytes

Re: Trouble Shooting 2.4 - more details
FatBoyThin <fatboythin(at)gmail.com>
2008-02-21 17:16:21 [ FULL ]
OK, now I've calmed down a bit :-)
Some details so you may be able to help

we run pound on CentOS release 5 load balancing between 2 servers

I would appreciate any light you could shed on why 2.4 mightn't be
happy with our setup (config file below)

Cheers

Al

our configuration file is something like this:



### load balancer config ####

# Identity to run as
User    "pound"
Group    "pound"

# Logging
LogFacility    local1
LogLevel    5

# Enable dynamic priority scaling based on back-end response times
DynScale    1

# Timeouts:
# How often to check if a dead host is alive again
Alive    30
# How long to wait for a request from a client before closing connection
Client    10
# How long to wait for a response from a backend before considering it dead
TimeOut    30
# On shutdown, how long to wait for any open connections to close
Grace    10

# Socket to listen for commands from poundctl
Control    "/var/run/pound.sock"


# Port 80 listener
ListenHTTP
    # Where to listen
    Address    0.0.0.0
    Port    80

    # Only HTTP verbs GET, POST, HEAD allowed
    xHTTP    0
    # Rewrite location headers to point to LB instead of backend?
    #RewriteLocation    1


    # Specific services which need special handling go here

    # xxxxxxxxxxxx
    # - has requested no load balancing for now as the app does
filesystem writes
    Service "client1.com"
        HeadRequire "Host:.*(client1.com)"

                BackEnd
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End
    End

    # xxxxxxxx must always happen on primary server
    Service "Client 2"
        URL    "/(client2admin|client2Controls).*"

                BackEnd
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End
    End

    # xxxxxx
    # No load balancing
    Service "client3"
        HeadRequire "Host:.*(client3.co.uk|client3otherdomain.co.uk)"

                BackEnd
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End
    End

    # There appears to be some session-related issue with xxxxx on xxxx site.
    Service "Un-balanced sites"
        HeadRequire "Host:.*www\.cclient4.co.uk|www\.client5\.co\.uk"

                BackEnd
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End

                Emergency
                        Address server2.ourdomain.net
                        Port    80
                End
    End

    # Amathus holidays admin site
    Service "client6"
        HeadRequire "Host:.*www.client6.co.uk"
        URL    "/client6admin.*"

                BackEnd
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End

                Emergency
                        Address server2.ourdomain.net
                        Port    80
                End
    End

    # xxxxxxx site requires a login
    Service "admin.client7.co.uk"
        HeadRequire "Host:.*admin.client7.co.uk"

                BackEnd
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End
    End

        # Client8 hit storage service
        Service "client 8 hit storage"
                HeadRequire "Host:.*client8.ourdomain.com"
                URL     "/client8/StoreHits.aspx.*"

                BackEnd
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End
        End

        # Client 8 reports - need longer timeout
        Service "client 8 reports"
                HeadRequire "Host:.*client8reporter.ourdomain.com"

                # .NET and ASP session cookies used for stickiness
                Session
                        Type    COOKIE
                        TTL     1200
                        ID      "ASP.NET_SessionId"
                End

                BackEnd
                        Address server1.ourdomain.net
            TimeOut    300
                        Port    80
                        Priority        5
                        HAPort  8080
                End

                BackEnd
                        Address server2.ourdomain.net
            TimeOut    300
                        Port    80
                        Priority        3
                        HAPort  8080
                End
        End

    # Client8 admin
    Service "Client 8 admin"
        HeadRequire "Host:.*(client8.ourdomain.com|www.client8-tools.com)"

                BackEnd
                    TimeOut 90
                        Address server1.ourdomain.net
                        Port    80
                        Priority        5
                        HAPort  8080
                End
    End

    # client 9 web services
    # State is stored in app space, accessed by a key in the web
service, not session cookies or anything else.
    # So, we have to be sticky by IP instead.
    Service "client 9 web services"
        HeadRequire "Host:.*(client9.ourdomain.com|Client9info.ourdomain.com)"

        Session
            Type    IP
            TTL    1200
        End

        Backend
            Address    server1.ourdomain.net
            Port    80
            Priority    5
            HAPort    8080
        End

        BackEnd
            Address    server2.ourdomain.net
            Port    80
            Priority    3
            HAPort    8080
        End
    End

    # Default service: all requests not matching something specific
above go to the whole cluster
    Service "default"
        # .NET and ASP session cookies used for stickiness
        Session
            Type    COOKIE
            TTL    1200
            ID    "ASP.NET_SessionId|ASPSESSIONID[A-Z]*"
        End



        BackEnd
            Address    server1.ourdomain.net
            Port    80
            Priority    5
            HAPort    8080
        End

        BackEnd
            Address    server2.ourdomain.net
            Port    80
            Priority    3
            HAPort    8080
        End
    End
End



On Wed, Feb 20, 2008 at 4:43 PM, FatBoyThin <fatboythin(at)gmail.com>
wrote:[...]

MailBoxer