Hi,

On Thu, Feb 05, Klavs Klavsen wrote:
> Jarno Huuskonen wrote on 02/05/2015 01:28 PM:
> >Hi,
> >
> >On Thu, Feb 05, Klavs Klavsen wrote:
> >>Hi guys,
> >>
> >>I'm testing our haproxy setup in regards to SSL performance - by
> >>simply using ab, and fetching a favicon.ico file..
> >>
> >>over http haproxy delivers 3.000 req/s.
> >>over https haproxy delivers 511 req/s.
> >>
> >>I tried giving haproxy more cores (it's a virtual server) -but this
> >>did not help at all :(
> >
> >Silly question: when you added more vCPUs to the virtual machine
> >did you change haproxy nbproc setting (make haproxy use more than
> >1process) ?
> >
> 
> Not silly at all.. I had naive figured it would scale on cpu's per
> default :)
> 
> Adding daemon and nbproc setting = number-of-cores and testing again.
> 
> I tried also setting cpu-map - but apperaently that needs to be
> specificly enabled at build time.. Is that an unsafe feature?
> 
> Also - in regards to stats, I can understand that the stats will no
> longer be accurate?

You can bind different procs to use different stats sockets.
Something like:
        stats socket /path/to/stats  level admin process 1
        stats socket /path/to/stats2 level admin process 2
        stats socket /path/to/stats3 level admin process 3
        stats socket /path/to/stats4 level admin process 4

 
> We currently fetch stats and insert in out graphite system.. which
> will be useless then.. :(

You could collect stats from all processes and aggregate results.
Or have dedicated processes for https that send traffic to http
frontend (something like):

listen HTTPS_in
  bind-process 2 3 4
  mode tcp # (or http if you want http acls here)
  bind address:443 crt ...

  server http_in 127.0.0.1:666 send-proxy-v2

frontend HTTP_in
  bind-process 1
  bind 127.0.0.1:666 accept-proxy
  bind *:80 ...
  mode http

  ...
  default_backend ...

And then you can collect stats from socket thats bound to process 1.

I think you can find better examples from list archives.
(Or think this describes similar setup:
http://brokenhaze.com/blog/2014/03/25/how-stack-exchange-gets-the-most-out-of-haproxy/)

-Jarno
 
> Is it in the works, for haproxy to perhaps used some shared-memory
> section, with a semaphore locking ofcourse, to collect stats for all
> in one ?

-- 
Jarno Huuskonen

Reply via email to