Re: FD_SETSIZE limitation in Windows hamstringing pgbench.c

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: FD_SETSIZE limitation in Windows hamstringing pgbench.c
Date: 2007-10-22 10:41:25
Message-ID: 20071022104125.GG15375@svr2.hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Oct 22, 2007 at 11:11:47AM +0100, Gregory Stark wrote:
>
> This change in pgbench.c:
>
> revision 1.71
> date: 2007-08-25 10:21:14 +0100; author: ishii; state: Exp; lines: +7 -2;
> The upper limit for -c option of pgbench is now obtained from
> (FD_SETSIZE - 10) rather than a hardwired number.
>
> Turns out to be, perhaps, ill-advised on Windows where FD_SETSIZE defaults to
> 64 but can be adjusted by #defining it before including winsock.h. At least
> that's what I'm reading on google, I don't know have a Windows machine to test
> with myself. But it's definitely true that on Windows you get an error if you
> try to run pgbench with more than 54 clients.
>
> I think this can be solved by simply adding this:
>
> --- pgbench.c 27 Sep 2007 21:39:43 +0100 1.72
> +++ pgbench.c 22 Oct 2007 10:55:57 +0100
> @@ -24,6 +24,7 @@
> #include <ctype.h>
>
> #ifdef WIN32
> +#define FD_SETSIZE 1024
> #include <win32.h>
> #else
> #include <sys/time.h>
>
>
> But as I said, I can't test it conveniently. Plus Postgres currently is
> bombing out with more than 45 clients anyways due to the handles issue that
> others are looking into (hence finding this limitation).

Applied, except I added a #undef first so it doesn't produce a warning. I
can consistently run it with about 125 connections now (more than that and
it breaks on the other handle issue)

//Magnus

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Gregory Stark 2007-10-22 11:07:06 Re: Ready for beta2?
Previous Message Gregory Stark 2007-10-22 10:31:59 Re: Latin vs non-Latin words in text search parsing