Implementing Web Load Balancing On A Shoestring Budget

  • 3,043 views
Uploaded on

How off-the-shelf open source software (i.e. Vmware ESXi, CentOS, nginx, haproxy, and keepalived) was used to deploy an effective web load balancing solution to deliver redundant and available web …

How off-the-shelf open source software (i.e. Vmware ESXi, CentOS, nginx, haproxy, and keepalived) was used to deploy an effective web load balancing solution to deliver redundant and available web services.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,043
On Slideshare
0
From Embeds
0
Number of Embeds
10

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Implementing Web Load Balancing on a Shoestring Budget
  • 2. Why I needed web load balancing
    Single web server
    Hosting 60+ websites
    Redundant subsystems (disk, power)
    Spare mobo, anyone?
  • 3. Project Scope
    Website availability
    Website availability
    Websi…er…uptime!
    Redundant web servers
    Redundant load balancers
    Session state persistence for failed web backends not required (yet)
  • 4. Budget
    Did you read the title of this deck?
  • 5. Design
    VmwareESXi (all hosts)
    CentOS (load balancers)
    Nginx (SSL termination)
    Haproxy (web load balancing)
    Keepalived (VRRP)
    Windows Server 2008 (IIS)
  • 6. System Layout
  • 7. Configs
    Nginx
    Haproxy
    Keepalived
    sysctl
    iptables
  • 8. Lessons Learned
    Whoa! TSO
    HTTP 500 errors
    Web servers “offline” for 20-30 minutes
    IIS 7 request tracing did not help
    Disable TSO
    Windows: NIC properties (on by default for Windows guest VMs)
    Linux: ethtool –k <interface>
  • 9. Utilization/Performance Monitoring
    TCP TIME_WAIT
    TCP ESTABLISHED
    TCP LISTEN
  • 10.
  • 11. Project Links
    Nginx - http://wiki.nginx.org/
    Haproxy - http://haproxy.1wt.eu/
    Keepalived - http://www.keepalived.org/