I'm using Haproxy in front of a Solr cloud. I have just two servers in the cloud. My performance test (search only) is significantly faster if one of the servers is down, than if both servers are up - which is not what I would naturally expect :)

When both servers are up, I get a max session rate of 670 per server (total 1340). When only one server is up, I get a max session rate of 1848, resulting in a better overall performance.

I can't figure out what might be going wrong; my config file is listed below.

Thanks for all ideas.


log   local0
log   local1 notice
maxconn 4096
nbproc 4
user exp
group users

log     global
mode    http
option  httplog
option  dontlognull
retries 3
maxconn 2000
balance roundrobin
stats enable
stats uri /haproxy?stats

frontend solr_lb
bind localhost:8081
acl master_methods method POST DELETE PUT
use_backend master_backend if master_methods
default_backend read_backends

backend master_backend
server solr-a weight 1 maxconn 512 check

backend slave_backend
server solr-b weight 1 maxconn 512 check

backend read_backends
server solr-a weight 1 maxconn 512 check
server solr-b weight 1 maxconn 512 check
  • The servers don't happen to be virtual instances on the same hardware? :-) Are they sharing some other resource e.g. network disk or database? – wurtel Sep 25 '14 at 14:27
  • Good idea! The two servers are VMs, but on different physical machines. The resource sharing is a bit harder to determine, but I think it should be limited - esp because all my index fits in the available/allocated RAM. – Yann Sep 25 '14 at 14:59
  • And no other resource sharing. I noticed adding a third server made no difference compared to 2 (lower max session rate per server; about the same overall max session rate). – Yann Sep 26 '14 at 14:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.