performance - example - haproxy windows
Haproxy ajuste para el rendimiento? (1)
Bueno, lo primero es que no parece que deba ejecutar múltiples procesos de haproxy. Por lo general, no querrás hacer eso, especialmente porque estás ocupado probando e intentando ver el Maxconn. En un solo núcleo, haproxy puede superar la configuración de maxconn que tiene de todos modos.
Pasé por los sysctl de Snapt y tienes la mayor parte del; Noté que también está agregando estos:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
Además, el valor mínimo no valdrá la pena. Sugeriría Roundrobin. Porque está haciendo tráfico HTTP que consiste en muchas solicitudes pequeñas (supongo que eso también depende de ser honesto). Estas son cosas tan pequeñas sin embargo.
Estamos tratando de encontrar las mejores opciones de ajuste para haproxy para obtener y post solicitud que provienen de un cliente (no de los usuarios que navegan por el tipo de acuerdo web).
Ejecutar una prueba de jmeter con hilos de 30k que consiste en 5 llamadas a los servidores, 1 registro de usuario y algunas llamadas de actualización. Estos empujan los datos json a través de la tubería.
Aquí usamos nuestra configuración actual para haproxy
global
log /dev/log local0 #notice
maxconn 14000
tune.bufsize 128000
user netcom
group netcom
pidfile /tmp/haproxy.pid
daemon
nbproc 7
#debug
#quiet
defaults
log global
mode http
### Options ###
option httplog
#option logasap
option dontlog-normal
#option dontlognull
option redispatch
option httpchk GET /?method=echo HTTP/1.1
option tcp-smart-accept
option tcp-smart-connect
option http-server-close
#option httpclose
#option forceclose
### load balance strategy ###
balance leastconn
#balance roundrobin
### Other ###
retries 5
maxconn 14000
backlog 100000
### Timeouts ###
#timeout client 25s
timeout client 60s
#timeout connect 5s
timeout connect 60s
#timeout server 25s
timeout server 60s
timeout tunnel 3600s
timeout http-keep-alive 1s
#timeout http-request 15s
timeout http-request 60s
#timeout queue 30s
timeout queue 30s
timeout tarpit 60s
listen stats *:1212
stats enable
stats show-node
stats show-desc xxxxProxy
stats realm xxxxProxy/ Statistics
stats auth xxxx:xxxx
stats refresh 5s
stats uri /
frontend http-in
bind *:1111
bind *:2222 ssl crt /home/netcom/nas/haproxy/xxxx.co.pem verify optional
acl user_request url_reg method=user.register
use_backend user_group if user_request
default_backend other_group
backend user_group
server n15 xxxx:8080 maxconn 3500 check port 8097 inter 2000
server n2 xxxx:8080 maxconn 3500 check port 8097 inter 2000
server n9 xxxx:8080 maxconn 3500 check port 8097 inter 2000
server n14 xxxx:8080 maxconn 3500 check port 8097 inter 2000
server n22 xxxx:8080 maxconn 3500 check port 8097 inter 2000
server n24 xxxx:8080 maxconn 3500 check port 8097 inter 2000
server n25 xxxx:8080 maxconn 3500 check port 8097 inter 2000
y nuestro sistema en centOS 6
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_recycle = 1
net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 20480 174760 25165824
net.ipv4.tcp_wmem = 20480 174760 25165824
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_no_metrics_save = 1
net.core.netdev_max_backlog = 10000
# Syn flood
net.ipv4.tcp_max_syn_backlog = 8096
net.core.somaxconn = 8096
cualquier persona señala cualquier problema grave que puedan ver en la parte superior de su cabeza. Lamentablemente, no tengo la experiencia en haproxy, por lo que busco ayuda de la comunidad.
Lo que también tengo que averiguar es cómo encontrar las conexiones máximas que puede manejar la caja, su red de 1 gig y todos los backends también están en un solo concierto. Aquí hay una captura de pantalla del administrador de haproxy http://grab.by/r12c , tenga en cuenta que lo estamos ejecutando con más de un núcleo, por lo que esta es una instantánea de un núcleo ... ya que el administrador web, por lo que puedo decir, no puede mostrar todo ... alguna idea de cómo obtener la conexión máxima que haproxy obtiene de la línea de cmd?
de todos modos, solo funciona esto y espero que cualquiera pueda dar algunos consejos o sugerencias.