Skip to content

Instantly share code, notes, and snippets.

@gburd
Last active July 5, 2022 13:34
Show Gist options
  • Save gburd/1507077 to your computer and use it in GitHub Desktop.
Save gburd/1507077 to your computer and use it in GitHub Desktop.
Recommended haproxy settings to balance Riak protobuf and http interfaces (note: WORK IN PROGRESS)
# Documentation for HAProxy
# http://code.google.com/p/haproxy-docs/w/list
# http://haproxy.1wt.eu/download/1.2/doc/architecture.txt
# NOTES:
# open files limits need to be > 256000, use ulimit -n to set (on most POSIX systems)
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 256000
chroot /var/lib/haproxy
user haproxy
group haproxy
spread-checks 5
daemon
quiet
defaults
log global
option dontlognull
option redispatch
option allbackups
maxconn 256000
timeout connect 5000
backend riak_rest_backend
mode http
balance roundrobin
option httpchk GET /ping
option httplog
server riak1 riak1.<FQDN>:8098 weight 1 maxconn 1024 check
server riak2 riak2.<FQDN>:8098 weight 1 maxconn 1024 check
server riak3 riak3.<FQDN>:8098 weight 1 maxconn 1024 check
server riak4 riak4.<FQDN>:8098 weight 1 maxconn 1024 check
frontend riak_rest
bind 127.0.0.1:8098
mode http
option contstats
default_backend riak_rest_backend
backend riak_protocol_buffer_backend
balance leastconn
mode tcp
option tcpka
option srvtcpka
server riak1 riak1.<FQDN>:8087 weight 1 maxconn 1024 check
server riak2 riak2.<FQDN>:8087 weight 1 maxconn 1024 check
server riak3 riak3.<FQDN>:8087 weight 1 maxconn 1024 check
server riak4 riak4.<FQDN>:8087 weight 1 maxconn 1024 check
frontend riak_protocol_buffer
bind 127.0.0.1:8087
mode tcp
option tcplog
option contstats
option tcpka
option srvtcpka
default_backend riak_protocol_buffer_backend
@gburd
Copy link
Author

gburd commented Feb 17, 2013

@sa2ajj
Copy link

sa2ajj commented Apr 8, 2013

thanks for sharing! :)

@jeremyong
Copy link

Just FYI, you have mode tcp listed twice on lines 57 and 60.

@gburd
Copy link
Author

gburd commented Oct 6, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment