[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] FD_SETSIZE - max connections in Windows - help!



On Mon, Mar 15, 2010 at 12:03 PM, Patrick Galbraith <patg@xxxxxxxx> wrote:
> Hi all,
>
> We have hit a brick wall with memcached - namely max connections with
> select.
>
> Namely, select from libvent use by memcached on windows, according to the
> documentation from MSDN you need to
> set FD_SETSIZE to the maximum number of sockets to use. By default
> FD_SETSIZE
> == 64. We set FD_SETSIZE to 2048 in  win32select.c at the top prior to
> including winsock2.h, but still no success. It seems to fail at 41
> connections.

I'm not sure why you're seeing this 41-connections issue, but I don't
think it has anything to do with FD_SETSIZE.  FD_SETSIZE affects the
declared size of the fd_set structure that select() uses.  But
Libevent doesn't believe the size of fd_set from the winsock2.h
header; instead, it allocates its own.  Look at the code for
FD_SET_ALLOC_SIZE.

(For me, win32select doesn't top out at 41 connections.  It can handle
hundreds or thousands of connections easily, though the scaling gets
poor with thousands.)

yrs,
-- 
Nick

-- 
Nick
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.