Quantcast
Channel: HAProxy community - Latest topics
Viewing all articles
Browse latest Browse all 4746

HAProxy Download/Upload Rates issue

$
0
0

@makarai wrote:

Hey All,

firstly i like to say that I am quite new to haproxying and would like to display what i have set up so you guys know what my infrastructure looks like.

My overall system looks like the following and is setup to function in 1Gbit full duplex (no jumbo frames within the network, MTU 1500 MSS 1460)

WAN -- PFSENSE (DNS Resolver and HAProxy) -- SWITCH __ Webserver 1 -- Many Services on different Ports
                                                    \__Webserver 2 -- Many Services on differnt Ports
                                                     \__ Pc and Wifi things

Or in Ip Related Terms

W.A.N.IP -- PFSENSE (192.168.0.1) -- SWITCH __ Webserver 1 (192.168.0.19) -- Many Services on different Ports
                                             \__Webserver 2 (192.168.0.21) -- Many Services on differnt Ports
                                              \__ PC (192.168.0.172)

On my Webserver 1 under port 2020 i have setup a html5 speedtest namely (https://github.com/adolfintel/speedtest) which works fairly nicely, i.e., if i visti 192.168.0.19:2020 i will be greeted with my speed test interface, and if i execute it i, i’ll get upload and download rates close to the maximum of 1Gbit, its in the lan so that great! When i visit my W.A.N.IP:2021 which is forwarded to 192.168.0.19:2020 the same applies.

However, now the HAproxy part comes in, I also have a domain with speedtest.example.wtf and a vailid ssl certificate which is offloaded with HAproxy so when I visit https://speedtest.example.wtf i’ll be greated with my speedtest interface. However when i execute the speedtest i’ll get download rates of close and constant to 500Mbit (webservers uploadspeed) and Upload rates of 1000Mbit (servers downloadspeed)

Now to my questions:
It is weird to me that my download rates are limited as soon as the HAproxy is in between, are there some stupid things i forgot to setup, does ssl offloading influence this at all?

My PFSENSE:

Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz Current: 1400 MHz, Max: 1601 MHz 4 Gig Ram 4 CPUs: 1 package(s) x 2 core(s) x 2 hardware threads State table size 0.4% (1640/396000) MBUF Usage 4% (10386/246072)

here my Ha.cfg

# Automaticaly generated, dont edit manually.
# Generated on: 2017-11-30 17:34
global
	maxconn			10000
	stats socket /tmp/haproxy.socket level admin
	gid			80
	nbproc			1
	chroot			/tmp/haproxy_chroot
	daemon
	tune.ssl.default-dh-param	2048
	server-state-file /tmp/haproxy_server_state
	tune.ssl.maxrecord 1370
	ssl-default-bind-options no-sslv3 no-tls-tickets
	ssl-default-bind-ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH

listen HAProxyLocalStats
	bind 127.0.0.1:2200 name localstats
	mode http
	stats enable
	stats admin if TRUE
	stats uri /haproxy/haproxy_stats.php?haproxystats=1
	timeout client 5000
	timeout connect 5000
	timeout server 5000

frontend frontend1_http
	bind			192.168.0.15:80 name 192.168.0.15:80
	mode			http
	log			global
	option			http-keep-alive
	option			forwardfor
	acl https ssl_fc
	http-request set-header		X-Forwarded-Proto http if !https
	http-request set-header		X-Forwarded-Proto https if https
	timeout client		30000
	acl			acl-https	hdr_beg(host) -i chat
	acl			acl-https	hdr_beg(host) -i ombi
	acl			acl-https	hdr_beg(host) -i mb
	acl			acl-https	hdr_beg(host) -i rss
	acl			acl-https	hdr_beg(host) -i latex
	acl			acl-https	hdr_beg(host) -i blog
	acl			acl-https	hdr_beg(host) -i plex
	acl			acl-https	hdr_beg(host) -i jd
	acl			acl-https	hdr_beg(host) -i home
	acl			acl-https	hdr_beg(host) -i fab
	acl			acl-https	hdr_beg(host) -i pf
	acl			acl-https	hdr_beg(host) -i hydra
	http-request redirect scheme https  if  acl-https

frontend frontend2_sni
	bind			192.168.0.15:443 name 192.168.0.15:443
	mode			tcp
	log			global
	timeout client		30000
	tcp-request inspect-delay	5s
	acl			cloud_sni	req.ssl_sni -m beg -i cloud
	tcp-request content accept if { req.ssl_hello_type 1 }

	use_backend backend_cloud_https_ipvANY  if  cloud_sni
	default_backend backend_offloading_https_ipvANY

frontend frontend3_offloading
	bind			127.0.0.1:1443 name 127.0.0.1:1443 ssl  crt /var/etc/haproxy/frontend3_offloading.pem
	bind /tmp/haproxy_chroot/frontend3_offloading.socket name unixsocket uid 80 accept-proxy ssl  crt /var/etc/haproxy/frontend3_offloading.pem
	mode			http
	log			global
	option			http-keep-alive
	option			forwardfor
	acl https ssl_fc
	http-request set-header		X-Forwarded-Proto http if !https
	http-request set-header		X-Forwarded-Proto https if https
	timeout client		30000
	#
	rspidel ^Server:.*$
	rspidel ^X-Powered-By:.*$
	rspidel ^X-AspNet-Version:.*$
	http-response set-header Strict-Transport-Security max-age=31536000;\ includeSubdomains;\ preload
	#http-response set-header X-Frame-Options SAMEDOMAIN
	http-response set-header X-Content-Type-Options nosniff
	acl			chatACL	hdr_beg(host) -i chat
	acl			ombiACL	hdr_beg(host) -i ombi
	acl			latexACL	hdr_beg(host) -i latex
	acl			rssACL	hdr_beg(host) -i rss
	acl			mbACL	hdr_beg(host) -i mb
	acl			embyACL	hdr_beg(host) -i emby
	acl			plexACL	hdr_beg(host) -i plex
	acl			jdACL	hdr_beg(host) -i jd
	acl			homeACL	hdr_beg(host) -i home
	acl			fabACL	hdr_beg(host) -i fab
	acl			pfACL	hdr_beg(host) -i pf
	acl			hydraACL	hdr_beg(host) -i hydra
	acl			aclcrt_frontend3_offloading	hdr_reg(host) -i ^([^\.]*)\.example\.de(:([0-9]){1,5})?$
	acl			aclcrt_frontend3_offloading	hdr_reg(host) -i ^example\.de(:([0-9]){1,5})?$
	use_backend backend-chat_http_ipv4  if  chatACL aclcrt_frontend3_offloading
	use_backend backend-ombi_http_ipv4  if  ombiACL aclcrt_frontend3_offloading
	use_backend backend-latex_http_ipv4  if  latexACL aclcrt_frontend3_offloading
	use_backend backend-rss_http_ipv4  if  rssACL aclcrt_frontend3_offloading
	use_backend backend-emby_http_ipv4  if  embyACL aclcrt_frontend3_offloading
	use_backend backend-plex_http_ipv4  if  plexACL aclcrt_frontend3_offloading
	use_backend backend-jd_http_ipv4  if  jdACL aclcrt_frontend3_offloading
	use_backend backend-emby_http_ipv4  if  mbACL aclcrt_frontend3_offloading
	use_backend backend-home_http_ipv4  if  homeACL aclcrt_frontend3_offloading
	use_backend backend-fabian-blog_http_ipv4  if  fabACL aclcrt_frontend3_offloading
	use_backend backend-pf_http_ipv4  if  pfACL aclcrt_frontend3_offloading
	use_backend backend-hydra_http_ipv4  if  hydraACL aclcrt_frontend3_offloading
	use_backend backend-kai-blog_http_ipv4  if   aclcrt_frontend3_offloading

backend backend_cloud_https_ipvANY
	mode			tcp
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			cloud 192.168.0.21:2443 check-ssl  verify none

backend backend_offloading_https_ipvANY
	mode			tcp
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			backend-to-frontend /frontend3_offloading.socket send-proxy-v2-ssl-cn check inter 1000

backend backend-chat_http_ipv4
	mode			http
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			chat 192.168.0.21:3000 check inter 1000

backend backend-ombi_http_ipv4
	mode			http
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			ombi 192.168.0.19:3579 check inter 1000

backend backend-latex_http_ipv4
	mode			http
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			latex 192.168.0.21:5000 check inter 1000

backend backend-rss_http_ipv4
	mode			http
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			rss 192.168.0.21:2280 check inter 1000

backend backend-emby_http_ipv4
	mode			http
	log			global
	rspadd Strict-Transport-Security:\ max-age=31536000;
	errorfile			503 /var/etc/haproxy/errorfile_backend-emby_http_ipv4_503_customerror
	timeout connect		30000
	timeout server		30000
	retries			3
	source ipv4@ usesrc clientip
	# add some security related headers
	# rspadd Content-Security-Policy:\ default-src\ https:\ data:\ 'unsafe-inline'\ 'unsafe-eval'
	rspadd X-Frame-Options:\ SAMEORIGIN
	rspadd X-Content-Type-Options:\ nosniff
	rspadd X-Xss-Protection:\ 1;\ mode=block
	server			emby_warden 192.168.0.102:8096 check inter 1000

backend backend-plex_http_ipv4
	mode			http
	log			global
	rspadd Strict-Transport-Security:\ max-age=31536000;
	timeout connect		30000
	timeout server		30000
	retries			3
	server			emby_warden 192.168.0.102:8096 check inter 1000
	server			emby_wardenssl 192.168.0.102:8920 ssl check inter 1000  verify none

backend backend-jd_http_ipv4
	mode			http
	log			global
	rspadd Strict-Transport-Security:\ max-age=31536000;
	errorfile			503 /var/etc/haproxy/errorfile_backend-jd_http_ipv4_503_customerror
	timeout connect		30000
	timeout server		30000
	retries			3
	source ipv4@ usesrc clientip
	server			jd 192.168.0.19:2020 check inter 1000

backend backend-home_http_ipv4
	mode			http
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			homepi 192.168.0.191:8123 check inter 1000

backend backend-fabian-blog_http_ipv4
	mode			http
	log			global
	rspadd Strict-Transport-Security:\ max-age=31536000;
	timeout connect		30000
	timeout server		30000
	retries			3
	server			chat 192.168.0.21:2370 check inter 1000

backend backend-pf_http_ipv4
	mode			http
	log			global
	timeout connect		30000
	timeout server		30000
	retries			3
	server			pf-rancherqnap 192.168.0.19:9001 check inter 1000

backend backend-hydra_http_ipv4
	mode			http
	log			global
	rspadd Strict-Transport-Security:\ max-age=31536000;
	timeout connect		30000
	timeout server		30000
	retries			3
	server			hydra 192.168.0.19:6050 check inter 1000

backend backend-kai-blog_http_ipv4
	mode			http
	log			global
	rspadd Strict-Transport-Security:\ max-age=31536000;
	timeout connect		30000
	timeout server		30000
	retries			3
	server			chat 192.168.0.21:2369 check inter 1000

Thanks Guys! Cheers

Posts: 1

Participants: 1

Read full topic


Viewing all articles
Browse latest Browse all 4746

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>