I have made some more tests on my Win7Pro and saw that MS was clever enough
to raise the 10000 handles per process limit in newer Windows'. I think the
new limit is something like 24-25000. To support 20k connections with ICS,
we still need to raise the WH_MAX_MSG though. Any comment on making this a
property?

Regards,

SZ

On Sun, May 23, 2010 at 2:08 PM, Fastream Technologies
<ga...@fastream.com>wrote:

> Hi and welcome back Francois.
>
> On Sun, May 23, 2010 at 12:12 PM, Francois PIETTE <
> francois.pie...@skynet.be> wrote:
>
>> Not sure how the debug GUI exe works but I found a solution for the
>>> service:
>>>
>>> In ...WndControl.pas,
>>>
>>> const
>>>  TIcsWndControlVersion  = 110;
>>>  CopyRight : String     = ' TIcsWndControl (c) 2002-2008 F. Piette V1.10
>>> ';
>>>
>>>  WH_MAX_MSG                   = 400; <== MODIFIED THIS from 100
>>>
>>> so that it would create less windows per same number of messages. With
>>> this
>>> change, My also ICS stress tester can open > 15k connections
>>> concurrently.
>>> In a real life case, since there will not be a stress tester on the same
>>> machine, I think it is ok. This must be a non-paged RAM drought issue...
>>>
>>> Could you make WH_MAX_MSG a property so that each time users update ICS,
>>> they would not need to change ICS source?
>>>
>>
>> It is likely that Windows has different settings for a service application
>> and a GUI application. Since a GUI application is likely to use a lot of
>> windows (visible or not), probably Windows size his internal tables
>> accordingly. A GUI application has a default 10.000 handles allowed. This is
>> why I created TIcsWndControl in the first place. This allow to open more
>> concurrent sockets since with TIcsWndControl a single window handle a lot of
>> sockets (100 by default) and you don't run out of handle anymore.
>>
>> This article could be a starting point for you:
>> http://weblogs.asp.net/mikedopp/archive/2008/05/16/increasing-user-handle-and-gdi-handle-limits.aspx
>> And also this one:
>> http://www.google.be/search?q=windows+handle+limit+10000
>>
>> --
>> francois.pie...@overbyte.be
>> The author of the freeware multi-tier middleware MidWare
>> The author of the freeware Internet Component Suite (ICS)
>> http://www.overbyte.be
>>
>>
> I still think we should make the const a property as the number of handles
> per process limit (10000) as your links mention, could sometimes be exceeded
> by server apps which compete with UNIX-kind- apps/sync apps. As I said, I
> tested here that when I double or quadraple the const WH_MAX_MSG, it WORKS
> for 20k sockets.
>
> BTW, let me tell you what I think: Windows design is getting older and old
> every day. The limit of non-paged RAM should be higher and for handles and
> for threads as well--provided that MS really wants the Win2008+ to be a
> solid SERVER OS.
>
> Best Regards,
>
> SZ
>
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to