What are the problems building/running/maintaining haproxy on windows?

2014-07-17 Thread Aleksandr Vinokurov
Hello all,

I'm asked to evaluate possible pitfalls about subj. Can you point me to any
info?

--
With all the respect,
Aleksandr Vinokurov
+7 (921) 982-21-43
@aleksandrvin


Re: What are the problems building/running/maintaining haproxy on windows?

2014-07-17 Thread Vincent Bernat
 ❦ 17 juillet 2014 16:36 +0400, Aleksandr Vinokurov aleksandr@gmail.com :

 I'm asked to evaluate possible pitfalls about subj. Can you point me
 to any info?

Without a POSIX layer like Cygwin, this is unlikely to work. With
Cygwin, poll() is mapped to select() so you won't be able to handle many
connections with such a setup. Overall, this seems a very bad idea.
-- 
if (user_specified)
/* Didn't work, but the user is convinced this is the
 * place. */
2.4.0-test2 /usr/src/linux/drivers/parport/parport_pc.c



Re: What are the problems building/running/maintaining haproxy on windows?

2014-07-17 Thread Willy Tarreau
Hi guys,

On Thu, Jul 17, 2014 at 07:26:45PM +0200, Vincent Bernat wrote:
  ??? 17 juillet 2014 16:36 +0400, Aleksandr Vinokurov 
 aleksandr@gmail.com :
 
  I'm asked to evaluate possible pitfalls about subj. Can you point me
  to any info?
 
 Without a POSIX layer like Cygwin, this is unlikely to work. With
 Cygwin, poll() is mapped to select() so you won't be able to handle many
 connections with such a setup. Overall, this seems a very bad idea.

It has been known to work a long time ago in cygwin, with a low performance
in part for the reasons above and possibly because the network API was not
completely native, I don't know. The strangest thing was the limitation to
1600 file descriptors resulting in about 800 concurrent connections max.
We did not know where this 1600 came from but it did not inspire a lot of
trust!

There are multiple options nowadays especially for components like haproxy
which are very light :
  - try to put it into a VM. It's not great, but when you are forced to
run on windows, it can be cheap.

  - reuse an old server. The last server you upgraded because it was too
slow for windows will be an extremely performant load balancer with
linux and haproxy. For this, use the lowest core count and the lowest
frequency, the server will generally consume the least power and it
will still be extremely fast. To give you an idea, a 486-class CPU
running at 500 MHz from 1 Watt of power without any fan nor heatsink
easily achieves 2000 connections per second in HTTP, which I'm sure
is far beyond your needs if you cannot afford to add a server! This
option is often neglected!

Regards,
Willy