Nearly an extra .1 seems high, but to be fair it doesn’t appear you did much of a test:
Number of clients running queries: 1 Average number of queries per client: 0
Simulating only 1 client, I wouldn’t expect any performance improvement, and without doing any queries, you are only benchmarking connection time? Sorry, not really familiar with mysqlslap. I wouldn’t be surprised with it being slower, but would expect more of a .001 difference instead of over .1 seconds slower… Thought about using haproxy for load balancing mysql, but haven’t implemented it yet.
I am not an haproxy expert, but I think “option persist” doesn’t apply for mode tcp. How do the numbers look if you actually have it benchmark multiple queries and simulate multiple clients?
From: Evgeniy Sudyr [mailto:eject.in.ua#gmail.com]
Sent: Friday, August 07, 2009 10:54 AM
To: haproxy#formilux.org
Subject: HAProxy and MySQL
Hi, I'm trying to use HAProxy as round robin load balancer for 2 MySQL servers. I'm using mysqlslap for benchmarking.
At the moment I figured that load balanced connection is slowest in times. I need explanation from HAProxy experts why ?
There is my config:
cat /etc/haproxy/haproxy.cfg
global
maxconn 2000 pidfile /var/run/haproxy.pid user _haproxy group _haproxy defaults retries 3 maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 listen MySQL 192.168.100.254:3306 mode tcp balance roundrobin option persist server mysql1 192.168.100.131:3306 server mysql2 192.168.100.132:3306
There is my test results:
HA Proxy Load balancer QUERY1
mysqlslap -u root --password=password -a -h 192.168.100.254 Benchmark
Average number of seconds to run all queries: 0.125 seconds Minimum number of seconds to run all queries: 0.125 seconds Maximum number of seconds to run all queries: 0.125 seconds Number of clients running queries: 1 Average number of queries per client: 0
HA Proxy Load balancer QUERY2
mysqlslap -u root --password=password -a -h 192.168.100.254 Benchmark
Average number of seconds to run all queries: 0.125 seconds Minimum number of seconds to run all queries: 0.125 seconds Maximum number of seconds to run all queries: 0.125 seconds Number of clients running queries: 1 Average number of queries per client: 0
MySQL SERVER1
mysqlslap -u root --password=password -a -h 192.168.100.131 Benchmark
Average number of seconds to run all queries: 0.015 seconds Minimum number of seconds to run all queries: 0.015 seconds Maximum number of seconds to run all queries: 0.015 seconds Number of clients running queries: 1 Average number of queries per client: 0
MySQL SERVER2
mysqlslap -u root --password=password -a -h 192.168.100.132
Benchmark
Average number of seconds to run all queries: 0.015 seconds Minimum number of seconds to run all queries: 0.015 seconds Maximum number of seconds to run all queries: 0.015 seconds Number of clients running queries: 1 Average number of queries per client: 0
--- Thanks! Evgeniy Sudyr Checked by AVG - www.avg.com Version: 8.5.392 / Virus Database: 270.13.25/2256 - Release Date: 08/07/09 06:22:00Received on 2009/08/07 19:28
This archive was generated by hypermail 2.2.0 : 2009/08/07 19:30 CEST