マルチマスターモードのMySQLサーバーが2台あり、単純な負荷分散/冗長性のためにHAproxyマシンがあります。サーバーの1つに直接接続して、約100,000エントリを更新しようとすると、レプリケーションを含めて約30分で完了します。プロキシ経由で接続する場合、通常3分以上かかります。そのようなタイプのレイテンシーがあるのは正常ですか?私のプロキシ設定(以下に含まれています)に何か問題がありますか?プロキシが何らかの負荷分散を行うか、少なくともオーバーヘッドがほとんどまたはまったくないと想定したため、これは非常に苛立たしいものになっています。
#---------------------------------------------------------------------
# Example configuration for a possible web application. See the
# full configuration options online.
#
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# 1) configure syslog to accept network log events. This is done
# by adding the '-r' option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# 2) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 local2
# chroot /var/lib/haproxy
# pidfile /var/run/haproxy.pid
maxconn 4096
user haproxy
group haproxy
daemon
#debug
#quiet
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode tcp
log global
#option tcplog
option dontlognull
option tcp-smart-accept
option tcp-smart-connect
#option http-server-close
#option forwardfor except 127.0.0.0/8
#option redispatch
retries 3
#timeout http-request 10s
#timeout queue 1m
timeout connect 400
timeout client 500
timeout server 300
#timeout http-keep-alive 10s
#timeout check 10s
maxconn 2000
listen mysql-cluster 0.0.0.0:3306
mode tcp
balance roundrobin
option tcpka
option httpchk
server db01 192.168.15.118:3306 weight 1 inter 1s rise 1 fall 1
server db02 192.168.15.119:3306 weight 1 inter 1s rise 1 fall 1
更新ごとに1回接続しているという事実は、各接続に少しのオーバーヘッドがあることを意味します。その多くの更新は、多くの接続を介して追加されます。可能であれば、更新をバッチ処理してみてください。または、マスター/マスターなので、ノードを1つ選択して、そこに更新をプッシュします。