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